user_announcements 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md CHANGED
@@ -0,0 +1,14 @@
1
+ # Change Log
2
+
3
+ ## v 0.0.5
4
+
5
+ * support for StrongParameters
6
+ * moved Bootstrap announcement width control to stylesheet
7
+ * changed admin announcements flash type from :success to :notice
8
+ * display roles vertically on edit page
9
+
10
+ ## v 0.0.4
11
+
12
+ * support for scoping announcement by roles
13
+ * support for styling announcements
14
+ * added several configuration options
data/README.md CHANGED
@@ -36,16 +36,12 @@ Add it to your Gemfile:
36
36
  gem "user_announcements"
37
37
  ```
38
38
 
39
- Run bundler:
39
+ From the command line:
40
40
 
41
41
  ```sh
42
- bundle install
43
- ```
44
-
45
- Install files:
46
-
47
- ```sh
48
- rails generate user_announcements:install
42
+ $ bundle install
43
+ $ rails generate user_announcements:install
44
+ $ rake db:migrate
49
45
  ```
50
46
 
51
47
  ## Getting Started
@@ -160,3 +156,11 @@ end
160
156
 
161
157
  Don't forget to restart your Rails server after changes to the config file.
162
158
 
159
+ ### Stylesheets
160
+
161
+ When the `user_announcements:install` command is run `app/assets/stylesheets/user_announcements.css`
162
+ is created.
163
+
164
+ When you change the CSS pay attention to the selectors -- some are for when you are configured
165
+ with `config.bootstrap = true`; most are for when `config.bootstrap = false`.
166
+
@@ -1,4 +1,5 @@
1
1
  class Admin::AnnouncementsController < ApplicationController
2
+
2
3
  before_filter :ensure_admin_user
3
4
  before_filter :find_announcement, :only => [:edit, :update, :destroy]
4
5
 
@@ -14,20 +15,19 @@ class Admin::AnnouncementsController < ApplicationController
14
15
  end
15
16
 
16
17
  def create
17
- @announcement = Announcement.new(params.fetch(:announcement))
18
+ @announcement = Announcement.new(announcement_params)
18
19
  if @announcement.save
19
- redirect_to admin_announcements_path, :flash => { success: 'Announcement created'}
20
+ redirect_to admin_announcements_path, :flash => { notice: 'Announcement created'}
20
21
  else
21
22
  render "new"
22
23
  end
23
24
  end
24
25
 
25
26
  def update
26
- attributes = params.fetch(:announcement)
27
- .reverse_merge(roles: [])
28
-
29
- if @announcement.update_attributes(attributes)
30
- redirect_to admin_announcements_path, :flash => { success: 'Announcement updated' }
27
+ @announcement.attributes = announcement_params
28
+ @announcement.roles = [] unless announcement_params.has_key?(:roles)
29
+ if @announcement.save
30
+ redirect_to admin_announcements_path, :flash => { notice: 'Announcement updated' }
31
31
  else
32
32
  render "edit"
33
33
  end
@@ -35,12 +35,36 @@ class Admin::AnnouncementsController < ApplicationController
35
35
 
36
36
  def destroy
37
37
  @announcement.destroy
38
- redirect_to admin_announcements_path, :flash => { success: 'Announcement deleted' }
38
+ redirect_to admin_announcements_path, :flash => { notice: 'Announcement deleted' }
39
39
  end
40
40
 
41
- protected
41
+ private
42
42
 
43
43
  def find_announcement
44
44
  @announcement = Announcement.find(params.fetch(:id))
45
45
  end
46
+
47
+ def announcement_params
48
+ if defined?(StrongParameters)
49
+ params.require(:announcement).permit(
50
+ :active,
51
+ :message,
52
+ :"starts_at(1i)",
53
+ :"starts_at(2i)",
54
+ :"starts_at(3i)",
55
+ :"starts_at(4i)",
56
+ :"starts_at(5i)",
57
+ :"ends_at(1i)",
58
+ :"ends_at(2i)",
59
+ :"ends_at(3i)",
60
+ :"ends_at(4i)",
61
+ :"ends_at(5i)",
62
+ :style,
63
+ {:roles => []},
64
+ :type,
65
+ )
66
+ else
67
+ params.fetch(:announcement)
68
+ end
69
+ end
46
70
  end
@@ -32,7 +32,7 @@ module UserAnnouncements::MiscHelper
32
32
  if params.has_key?(:bootstrap)
33
33
  params[:bootstrap] == 'true'
34
34
  else
35
- UserAnnouncements.config.bootstrap
35
+ UserAnnouncements[:bootstrap]
36
36
  end
37
37
  end
38
38
 
@@ -20,7 +20,7 @@ module UserAnnouncements::RolesHelper
20
20
  private
21
21
 
22
22
  def _ua_roles_checkboxes(roles)
23
- safe_join( roles.map { |role| _ua_role_checkbox(role) } )
23
+ safe_join( roles.map { |role| _ua_role_checkbox(role) }, '<br>'.html_safe )
24
24
  end
25
25
 
26
26
  def _ua_role_checkbox(role)
@@ -23,7 +23,7 @@ module UserAnnouncements::ShowAnnouncements
23
23
  end
24
24
 
25
25
  def _ua_announcement_div_bootstrap(ann)
26
- div_for ann, class: _ua_announcement_classes(ann.style), style: 'width:40em' do
26
+ div_for ann, class: _ua_announcement_classes(ann.style) do
27
27
  link_to(*_ua_hide_announcement_link_args(ann)) do
28
28
  content_tag(:button, raw('&times;'), type: 'button', class: 'close')
29
29
  end +
@@ -33,6 +33,10 @@ table.ua-table td {
33
33
  vertical-align: top;
34
34
  }
35
35
 
36
+ .announcement.bootstrap {
37
+ width: 40em;
38
+ }
39
+
36
40
  .announcement.non-bootstrap {
37
41
  background-color: #fcf8e3;
38
42
  color: #c09853;
@@ -42,7 +46,6 @@ table.ua-table td {
42
46
  text-align: center;
43
47
  }
44
48
 
45
-
46
49
  .announcement.non-bootstrap a {
47
50
  font-size: 12px;
48
51
  margin-left: 5px;
@@ -1,3 +1,3 @@
1
1
  module UserAnnouncements
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: user_announcements
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-05-26 00:00:00.000000000 Z
12
+ date: 2013-05-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails