aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/controllers/inboxes/discussions_controller.rb4
-rw-r--r--app/controllers/inboxes/inboxes_settings_controller.rb8
-rw-r--r--app/models/inboxes_setting.rb5
-rw-r--r--config/routes.rb5
-rw-r--r--lib/generators/inboxes/templates/install.rb8
5 files changed, 30 insertions, 0 deletions
diff --git a/app/controllers/inboxes/discussions_controller.rb b/app/controllers/inboxes/discussions_controller.rb
index d23f5a5..13dae3d 100644
--- a/app/controllers/inboxes/discussions_controller.rb
+++ b/app/controllers/inboxes/discussions_controller.rb
@@ -39,6 +39,10 @@ class Inboxes::DiscussionsController < Inboxes::BaseController
render :action => "new"
end
end
+
+ def settings
+ @settings = InboxesSetting.find_or_create_by_user_id(current_user)
+ end
private
diff --git a/app/controllers/inboxes/inboxes_settings_controller.rb b/app/controllers/inboxes/inboxes_settings_controller.rb
new file mode 100644
index 0000000..6851791
--- /dev/null
+++ b/app/controllers/inboxes/inboxes_settings_controller.rb
@@ -0,0 +1,8 @@
+class Inboxes::InboxesSettingsController < Inboxes::BaseController
+ def update
+ @settings = InboxesSetting.find_or_create_by_user_id(current_user)
+ @settings.update_attributes(:send_email_notification => params[:inboxes_setting][:send_email_notification])
+
+ redirect_to '/discussions/settings'
+ end
+end
diff --git a/app/models/inboxes_setting.rb b/app/models/inboxes_setting.rb
new file mode 100644
index 0000000..1581131
--- /dev/null
+++ b/app/models/inboxes_setting.rb
@@ -0,0 +1,5 @@
+class InboxesSetting < ActiveRecord::Base
+
+ attr_accessible :send_email_notification
+
+end
diff --git a/config/routes.rb b/config/routes.rb
index 3ecb989..a23ed52 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -1,5 +1,10 @@
Rails.application.routes.draw do
+ scope :module => :inboxes do
+ match '/discussions/settings' => 'discussions#settings'
+ resources :inboxes_settings, :only => [:update]
+ end
+
resources :discussions, :except => :edit, :module => :inboxes do
resources :messages, :only => [:create, :index]
resources :speakers, :only => [:create, :destroy]
diff --git a/lib/generators/inboxes/templates/install.rb b/lib/generators/inboxes/templates/install.rb
index 472cd95..18a8a6c 100644
--- a/lib/generators/inboxes/templates/install.rb
+++ b/lib/generators/inboxes/templates/install.rb
@@ -20,11 +20,19 @@ class InstallInboxes < ActiveRecord::Migration
t.timestamps
end
+
+ create_table :inboxes_settings do |t|
+ t.references :user
+ t.boolean :send_email_notification, :default => 1
+
+ t.timestamps
+ end
end
def self.down
drop_table :speakers
drop_table :discussions
drop_table :messages
+ drop_table :inboxes_settings
end
end