Cleanup routings
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
# Redmine Messenger plugin for Redmine
|
||||
require 'net/http'
|
||||
|
||||
class Messenger
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
# Redmine Messenger plugin for Redmine
|
||||
|
||||
class CreateMessengerSettings < ActiveRecord::Migration
|
||||
def change
|
||||
create_table :messenger_settings do |t|
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
# Redmine Messenger plugin for Redmine
|
||||
|
||||
class AddDefaultMentions < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :messenger_settings, :default_mentions, :string
|
||||
|
||||
@@ -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
|
||||
|
||||
2
init.rb
2
init.rb
@@ -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: '',
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
# Redmine Messenger plugin for Redmine
|
||||
|
||||
module RedmineMessenger
|
||||
module Helpers
|
||||
def project_messenger_options(active)
|
||||
|
||||
@@ -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 = {})
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
# Redmine Messenger plugin for Redmine
|
||||
|
||||
module RedmineMessenger
|
||||
module Patches
|
||||
module ContactPatch
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
# Redmine Messenger plugin for Redmine
|
||||
|
||||
module RedmineMessenger
|
||||
module Patches
|
||||
module DbEntryPatch
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
# Redmine Messenger plugin for Redmine
|
||||
|
||||
module RedmineMessenger
|
||||
module Patches
|
||||
module IssuePatch
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
# Redmine Messenger plugin for Redmine
|
||||
|
||||
module RedmineMessenger
|
||||
module Patches
|
||||
module PasswordPatch
|
||||
|
||||
@@ -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 }
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
# Redmine Messenger plugin for Redmine
|
||||
|
||||
module RedmineMessenger
|
||||
module Patches
|
||||
module WikiPagePatch
|
||||
|
||||
14
test/integration/routing_test.rb
Normal file
14
test/integration/routing_test.rb
Normal 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
|
||||
Reference in New Issue
Block a user