Cleanup routings

This commit is contained in:
Alexander Meindl
2018-01-28 11:47:25 +01:00
parent f44366bd75
commit b1a527fc52
19 changed files with 31 additions and 68 deletions

View File

@@ -1,35 +1,15 @@
# Redmine Messenger plugin for Redmine
class MessengerSettingsController < ApplicationController
layout 'base'
before_action :find_project_by_project_id
before_action :authorize
before_action :find_project, :authorize, :find_user
def save
def update
setting = MessengerSetting.find_or_create @project.id
begin
setting.transaction do
# setting.auto_preview_enabled = auto_preview_enabled
setting.assign_attributes(params[:setting])
setting.save!
end
setting.assign_attributes(params[:setting])
if setting.save
flash[:notice] = l(:notice_successful_update)
rescue => e
else
flash[:error] = 'Updating failed.' + e.message
end
redirect_to controller: 'projects', action: 'settings', id: @project, tab: 'messenger'
end
private
def find_project
@project = Project.find(params[:id])
rescue ActiveRecord::RecordNotFound
render_404
end
def find_user
@user = User.current
redirect_to settings_project_path(@project, tab: 'messenger')
end
end

View File

@@ -1,4 +1,3 @@
# Redmine Messenger plugin for Redmine
require 'net/http'
class Messenger

View File

@@ -1,11 +1,7 @@
# Redmine Messenger plugin for Redmine
class MessengerSetting < ActiveRecord::Base
include Redmine::SafeAttributes
belongs_to :project
validates :project_id, presence: true
safe_attributes 'messenger_url',
'messenger_icon',
'messenger_channel',
@@ -30,7 +26,7 @@ class MessengerSetting < ActiveRecord::Base
'post_password',
'post_password_updates'
attr_protected :id
attr_protected :id, :project_id
def self.find_or_create(p_id)
setting = MessengerSetting.find_by(project_id: p_id)

View File

@@ -1,11 +1,11 @@
.box.tabular.messenger_settings
- @messenger_setting = MessengerSetting.find_or_create(@project.id)
= form_tag(project_reporting_sla_path(project_id: @project), method: :put, class: 'tabular') do
= labelled_form_for :setting,
@messenger_setting,
url: { controller: 'messenger_settings',
action: 'save', id: @project, tab: 'messenger',
partial: 'messenger_settings/save',
setting_id: @messenger_setting.id } do |f|
url: project_messenger_setting_path(project_id: @project),
method: :put,
class: 'tabular' do |f|
= error_messages_for 'messenger_setting'
.box
.info = t(:messenger_settings_project_intro)

View File

@@ -1,7 +1,6 @@
# Redmine Messenger plugin for Redmine
# Plugin's routes
# See: http://guides.rubyonrails.org/routing.html
RedmineApp::Application.routes.draw do
match 'projects/:id/messenger_settings/save',
to: 'messenger_settings#save',
via: %i[post put patch]
resources :projects do
resource :messenger_setting, only: %i[show update]
end

View File

@@ -1,5 +1,3 @@
# Redmine Messenger plugin for Redmine
class CreateMessengerSettings < ActiveRecord::Migration
def change
create_table :messenger_settings do |t|

View File

@@ -1,5 +1,3 @@
# Redmine Messenger plugin for Redmine
class AddDefaultMentions < ActiveRecord::Migration
def change
add_column :messenger_settings, :default_mentions, :string

View File

@@ -1,5 +1,3 @@
# Redmine Messenger plugin for Redmine
class AddPrivateSettings < ActiveRecord::Migration
def change
add_column :messenger_settings, :post_private_contacts, :integer, default: 0, null: false

View File

@@ -13,7 +13,7 @@ Redmine::Plugin.register :redmine_messenger do
requires_redmine version_or_higher: '3.0.0'
permission :manage_messenger, projects: :settings, messenger_settings: :save
permission :manage_messenger, projects: :settings, messenger_settings: :update
settings default: {
messenger_url: '',

View File

@@ -1,5 +1,3 @@
# Redmine Messenger plugin for Redmine
Rails.configuration.to_prepare do
module RedmineMessenger
REDMINE_CONTACTS_SUPPORT = Redmine::Plugin.installed?('redmine_contacts') ? true : false

View File

@@ -1,5 +1,3 @@
# Redmine Messenger plugin for Redmine
module RedmineMessenger
module Helpers
def project_messenger_options(active)

View File

@@ -1,5 +1,3 @@
# Redmine Messenger plugin for Redmine
module RedmineMessenger
class MessengerListener < Redmine::Hook::Listener
def model_changeset_scan_commit_for_issue_ids_pre_issue_update(context = {})

View File

@@ -1,5 +1,3 @@
# Redmine Messenger plugin for Redmine
module RedmineMessenger
module Patches
module ContactPatch

View File

@@ -1,5 +1,3 @@
# Redmine Messenger plugin for Redmine
module RedmineMessenger
module Patches
module DbEntryPatch

View File

@@ -1,5 +1,3 @@
# Redmine Messenger plugin for Redmine
module RedmineMessenger
module Patches
module IssuePatch

View File

@@ -1,5 +1,3 @@
# Redmine Messenger plugin for Redmine
module RedmineMessenger
module Patches
module PasswordPatch

View File

@@ -1,5 +1,3 @@
# Redmine Messenger plugin for Redmine
module RedmineMessenger
module Patches
module ProjectsHelperPatch
@@ -14,7 +12,6 @@ module RedmineMessenger
def project_settings_tabs_with_messenger
tabs = project_settings_tabs_without_messenger
action = { name: 'messenger',
controller: 'messenger_settings',
action: :show,
partial: 'messenger_settings/show',
label: :label_messenger }

View File

@@ -1,5 +1,3 @@
# Redmine Messenger plugin for Redmine
module RedmineMessenger
module Patches
module WikiPagePatch

View File

@@ -0,0 +1,14 @@
# This file is a part of redmine_reporting,
# a reporting and statistics plugin for Redmine.
#
# Copyright (c) 2016-2018 AlphaNodes GmbH
# https://alphanodes.com
require File.expand_path('../../test_helper', __FILE__)
class RoutingTest < Redmine::RoutingTest
test 'routing sla' do
should_route 'GET /projects/1/settings/messenger' => 'projects#settings', id: '1', tab: 'messenger'
should_route 'PUT /projects/1/messenger_setting' => 'messenger_settings#update', project_id: '1'
end
end