# HG changeset patch
# User silwer
# Date 2013-11-23 21:21:53
# Node ID 609747f7d50e621fa02b48aebc8e0ec41d13febe
Init
diff --git a/README.rdoc b/README.rdoc
new file mode 100644
--- /dev/null
+++ b/README.rdoc
@@ -0,0 +1,3 @@
+= redmine_default_group
+
+Description goes here
diff --git a/app/views/settings/_default_group.erb b/app/views/settings/_default_group.erb
new file mode 100644
--- /dev/null
+++ b/app/views/settings/_default_group.erb
@@ -0,0 +1,4 @@
+
+ <%=content_tag(:label, l(:label_group) + ":") %>
+ <%=text_field_tag "settings[group]", @settings["group"], :size=>25 %>
+
diff --git a/config/locales/en.yml b/config/locales/en.yml
new file mode 100644
--- /dev/null
+++ b/config/locales/en.yml
@@ -0,0 +1,4 @@
+# English strings go here for Rails i18n
+en:
+ # my_label: "My label"
+ label_group: "Default group name"
diff --git a/config/routes.rb b/config/routes.rb
new file mode 100644
--- /dev/null
+++ b/config/routes.rb
@@ -0,0 +1,2 @@
+# Plugin's routes
+# See: http://guides.rubyonrails.org/routing.html
diff --git a/init.rb b/init.rb
new file mode 100644
--- /dev/null
+++ b/init.rb
@@ -0,0 +1,34 @@
+require 'redmine'
+require 'redmine_default_group/patch'
+
+
+Redmine::Plugin.register :redmine_default_group do
+ name 'Redmine Default Group plugin'
+ author 'Arthur Zalevsky'
+ description 'This plugin allows to set default group for new users.'
+ version '0.0.1'
+ url 'https://github.com/yourcelf/redmine_etherpad'
+ author_url 'https://github.com/yourcelf'
+ settings :partial => 'settings/default_group',
+ :default => {
+ 'group' => false,
+ }
+
+ Rails.configuration.to_prepare do
+ # This tells the Redmine version's controller to include the module from the file above.
+ AccountController.send(:include, RedmineDefaultGroup::AccountControllerPatch)
+ end
+
+# settings = Setting.plugin_redmine_etherpad
+# unless settings['host'] and settings['key']
+# raise "Please define etherpad parameters in configuration.yml."
+# end
+
+ # Set current user name.
+ if User.current
+ settings['userName'] = User.current.name
+ #elsif conf.fetch('loginRequired', true)
+ # return "TODO: embed read-only."
+ end
+
+end
diff --git a/lib/redmine_default_group/patch.rb b/lib/redmine_default_group/patch.rb
new file mode 100644
--- /dev/null
+++ b/lib/redmine_default_group/patch.rb
@@ -0,0 +1,17 @@
+module RedmineDefaultGroup
+ module AccountControllerPatch
+ def self.included(base)
+ base.class_eval do
+ # Insert overrides here, for example:
+ def register_automatically_with_default_group(user, &block)
+ register_automatically_without_default_group(user, &block)
+ @group = Group.find(:first, :conditions => ["LOWER(lastname) = ?", Setting.plugin_redmine_default_group['group'].downcase])
+ @group.users << user
+ end
+
+ alias_method_chain :register_automatically, :default_group # This tells Redmine to allow me to extend show by letting me call it via "show_without_plugin" above.
+ # I can outright override it by just calling it "def show", at which case the original controller's method will be overridden instead of extended.
+ end
+ end
+ end
+end
diff --git a/test/test_helper.rb b/test/test_helper.rb
new file mode 100644
--- /dev/null
+++ b/test/test_helper.rb
@@ -0,0 +1,2 @@
+# Load the Redmine helper
+require File.expand_path(File.dirname(__FILE__) + '/../../../test/test_helper')