ems 0.1.6 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -4,12 +4,12 @@ module Ems
4
4
  before_filter :authenticate_user!
5
5
  # Also make sure we either have to check cancan or skipit, emtpy is too risky
6
6
  check_authorization
7
-
7
+
8
8
  # # Global cancan failure recovery
9
9
  # rescue_from CanCan::AccessDenied do |exception|
10
10
  # redirect_to main_app.new_user_session_path, :alert => exception.message
11
11
  # end
12
-
12
+
13
13
  # We need to make sure that we are using the ems abilities in the EMS
14
14
  def current_ability
15
15
  @current_ability ||= Ability.new(current_user)
@@ -1,53 +1,53 @@
1
1
  module Ems
2
2
  class ArticlesController < ApplicationController
3
- load_and_authorize_resource
4
-
3
+ load_and_authorize_resource :class => Ems::Article
4
+
5
5
  # GET /articles
6
6
  # GET /articles.json
7
7
  def index
8
8
  @articles = Article.all
9
-
9
+
10
10
  respond_to do |format|
11
11
  format.html # index.html.erb
12
12
  format.json { render json: @articles }
13
13
  end
14
14
  end
15
-
15
+
16
16
  # GET /articles/1
17
17
  # GET /articles/1.json
18
18
  def show
19
19
  @article = Article.find(params[:id])
20
-
20
+
21
21
  respond_to do |format|
22
22
  format.html # show.html.erb
23
23
  format.json { render json: @article }
24
24
  end
25
25
  end
26
-
26
+
27
27
  # GET /articles/new
28
28
  # GET /articles/new.json
29
29
  def new
30
30
  @article = Article.new(:category => Category.find(params[:category_id]))
31
31
  @article.assets.build
32
32
  @article.category = Category.find params[:category_id]
33
-
33
+
34
34
  respond_to do |format|
35
35
  format.html # new.html.erb
36
36
  format.json { render json: @article }
37
37
  end
38
38
  end
39
-
39
+
40
40
  # GET /articles/1/edit
41
41
  def edit
42
42
  @article = Article.find(params[:id])
43
43
  @article.assets.build
44
44
  end
45
-
45
+
46
46
  # POST /articles
47
47
  # POST /articles.json
48
48
  def create
49
49
  @article = Article.new(params[:article])
50
-
50
+
51
51
  respond_to do |format|
52
52
  if @article.save
53
53
  format.html { redirect_to edit_category_article_path(@article.category, @article), notice: 'Article was successfully created.' }
@@ -58,12 +58,12 @@ module Ems
58
58
  end
59
59
  end
60
60
  end
61
-
61
+
62
62
  # PUT /articles/1
63
63
  # PUT /articles/1.json
64
64
  def update
65
65
  @article = Article.find(params[:id])
66
-
66
+
67
67
  respond_to do |format|
68
68
  if @article.update_attributes(params[:article])
69
69
  format.html { redirect_to edit_category_article_path(@article.category, @article), notice: 'Article was successfully updated.' }
@@ -74,14 +74,14 @@ module Ems
74
74
  end
75
75
  end
76
76
  end
77
-
77
+
78
78
  # DELETE /articles/1
79
79
  # DELETE /articles/1.json
80
80
  def destroy
81
81
  @article = Article.find(params[:id])
82
82
  category = @article.category
83
83
  @article.destroy
84
-
84
+
85
85
  respond_to do |format|
86
86
  format.html { redirect_to category_articles_path(category), notice: 'Article was successfully deleted.' }
87
87
  format.json { head :no_content }
@@ -1,6 +1,6 @@
1
1
  module Ems
2
2
  class CategoriesController < ApplicationController
3
- load_and_authorize_resource
3
+ load_and_authorize_resource :class => Ems::Category
4
4
  # GET /categories
5
5
  # GET /categories.json
6
6
  def index
@@ -1,11 +1,11 @@
1
1
  module Ems
2
2
  class ChannelsController < ApplicationController
3
- load_and_authorize_resource
3
+ load_and_authorize_resource :class => Ems::Channel
4
4
  # GET /channels
5
5
  # GET /channels.json
6
6
  def index
7
7
  @channels = Channel.all
8
-
8
+
9
9
  respond_to do |format|
10
10
  format.html # index.html.erb
11
11
  format.json { render json: @channels }
@@ -1,14 +1,14 @@
1
1
  module Ems
2
2
  class EmsController < ApplicationController
3
3
  skip_authorization_check :only => [:index]
4
-
4
+
5
5
  def index
6
6
  # Workaround for active admin routing problem.
7
7
  # see:
8
8
  # http://stackoverflow.com/questions/10684566/mountable-engine-routing-with-active-admin-on-rails
9
- # @todo find a nicer solution for this problem.
9
+ # TODO find a nicer solution for this problem.
10
10
  render :layout => 'ems/application'
11
11
  end
12
-
12
+
13
13
  end
14
14
  end
@@ -1,6 +1,6 @@
1
1
  module Ems
2
2
  class ImagesController < ApplicationController
3
- load_and_authorize_resource
3
+ load_and_authorize_resource :class => Ems::Image
4
4
  # GET /images
5
5
  # GET /images.json
6
6
  def index
@@ -1,6 +1,6 @@
1
1
  module Ems
2
2
  class NewsController < ApplicationController
3
- load_and_authorize_resource
3
+ load_and_authorize_resource :class => Ems::News
4
4
  # GET /news
5
5
  # GET /news.json
6
6
  def index
@@ -87,4 +87,4 @@ module Ems
87
87
  end
88
88
  end
89
89
  end
90
- end
90
+ end
@@ -1,6 +1,6 @@
1
1
  module Ems
2
2
  class ReportsController < ApplicationController
3
- load_and_authorize_resource
3
+ load_and_authorize_resource :class => Ems::Report
4
4
  # GET /reports
5
5
  # GET /reports.json
6
6
  def index
@@ -1,8 +1,8 @@
1
1
  module Ems
2
2
  class TagsController < ApplicationController
3
- load_and_authorize_resource
3
+ load_and_authorize_resource :class => Ems::Tag
4
4
  include TagQueryBuilder
5
-
5
+
6
6
  # GET /tags
7
7
  # GET /tags.json
8
8
  def index
@@ -28,4 +28,4 @@ module Ems
28
28
  # See the wiki for details: https://github.com/ryanb/cancan/wiki/Defining-Abilities
29
29
  end
30
30
  end
31
- end
31
+ end
@@ -1,6 +1,11 @@
1
1
  module Ems
2
2
 
3
3
  class Article < ActiveRecord::Base
4
+
5
+ attr_accessible :category_id, :channel_ids, :tag_ids, :title, :publish_from,
6
+ :status, :image, :standfirst, :content, :assets, :article_ids, :report_ids,
7
+ :news_ids, :hot, :featured
8
+
4
9
  # use friendly_id to handle our slugs
5
10
  extend FriendlyId
6
11
  friendly_id :title, use: :slugged
@@ -13,17 +18,16 @@ module Ems
13
18
  validates :channels, :presence => true, :if => :is_live?
14
19
  validates :publish_from, :presence => true, :if => :is_live?
15
20
  validates :status, :presence => true
16
-
21
+
17
22
  validates :image, :attachment_presence => true, :if => :is_live?
18
23
  validates :title, :presence => true, :if => :is_live?
19
24
  validates :standfirst, :presence => true, :if => :is_live?
20
25
  validates :content, :presence => true, :if => :is_live?
21
-
26
+
22
27
  validates_uniqueness_of :slug
23
28
  validates_inclusion_of :content_disposition, :in => [ :html, :markdown ], :message => "Value is not a valid content disposition"
24
29
  validates_inclusion_of :status, :in => [ :draft, :pending, :live ], :message => "Value is not a valid status"
25
-
26
-
30
+
27
31
  # searchable do
28
32
  # text :title, :stored => true
29
33
  # text :standfirst, :stored => true
@@ -35,7 +39,6 @@ module Ems
35
39
 
36
40
  # after methods
37
41
  after_initialize :init
38
-
39
42
 
40
43
  # relations
41
44
  belongs_to :category
@@ -52,7 +55,7 @@ module Ems
52
55
  accepts_nested_attributes_for :reports
53
56
  has_many :assets, :as => :assetable
54
57
  accepts_nested_attributes_for :assets, :allow_destroy => true
55
-
58
+
56
59
  # paperclip files
57
60
  has_attached_file :image, :styles => { :image564x252 => "564x252#", :image312x189 => "312x189#", :image312x126 => "312x126", :image228x126 => "228x126"}
58
61
 
@@ -87,7 +90,7 @@ module Ems
87
90
  def content_disposition= (value)
88
91
  write_attribute(:content_disposition, value.to_s)
89
92
  end
90
-
93
+
91
94
  def content_as_html
92
95
  Kramdown::Document.new(content, :input => "BeanKramdown").to_html
93
96
  end
@@ -97,15 +100,15 @@ module Ems
97
100
  def as_json(options={})
98
101
  super( options.merge( :include => [ :category, :channels, :tags, :images ] ) )
99
102
  end
100
-
103
+
101
104
  #
102
105
  def is_live?
103
106
  self.status === :live
104
107
  end
105
-
108
+
106
109
  # base queries
107
110
  class << self
108
-
111
+
109
112
  def base_query(category=nil)
110
113
  q = self.joins(:category).where("publish_from <= :publish_from", {:publish_from => Time.now.strftime("%Y/%m/%d %H:00:00")}).where(:status => 'live')
111
114
  q = q.where('ems_categories.id' => category.id) if category
@@ -1,5 +1,8 @@
1
1
  module Ems
2
2
  class Category < ActiveRecord::Base
3
+
4
+ attr_accessible :name, :strapline
5
+
3
6
  # use friendly_id to handle our slugs
4
7
  extend FriendlyId
5
8
  friendly_id :name, use: :slugged
@@ -1,11 +1,14 @@
1
1
  module Ems
2
2
  class Channel < ActiveRecord::Base
3
+
4
+ attr_accessible :name, :category_ids, :articles, :news, :reports
5
+
3
6
  extend FriendlyId
4
7
  friendly_id :name, use: :slugged
5
8
  def should_generate_new_friendly_id?
6
9
  new_record?
7
10
  end
8
-
11
+
9
12
  # Validators
10
13
  validates_uniqueness_of :slug
11
14
  validates :slug, :presence => true
@@ -13,7 +16,7 @@ module Ems
13
16
 
14
17
  has_and_belongs_to_many :categories, :join_table => 'ems_categories_channels'
15
18
  accepts_nested_attributes_for :categories
16
-
19
+
17
20
  has_and_belongs_to_many :articles, :join_table => 'ems_articles_channels'
18
21
  accepts_nested_attributes_for :articles
19
22
  has_and_belongs_to_many :news, :join_table => 'ems_channels_news'
@@ -1,5 +1,6 @@
1
1
  module Ems
2
2
  class Role < ActiveRecord::Base
3
+ attr_accessible :name
3
4
  has_and_belongs_to_many :users, :class_name => Ems.user_class, :join_table => 'ems_roles_users'
4
5
  end
5
6
  end
@@ -1,11 +1,14 @@
1
1
  module Ems
2
2
  class Tag < ActiveRecord::Base
3
+
4
+ attr_accessible :title, :description
5
+
3
6
  extend FriendlyId
4
7
  friendly_id :title, use: :slugged
5
8
  def should_generate_new_friendly_id?
6
9
  new_record?
7
10
  end
8
-
11
+
9
12
  has_and_belongs_to_many :articles, :join_table => 'ems_articles_tags'
10
13
  accepts_nested_attributes_for :articles
11
14
 
@@ -13,7 +16,7 @@ module Ems
13
16
  validates_uniqueness_of :slug
14
17
  validates :slug, :presence => true
15
18
  validates :title, :presence => true
16
-
19
+
17
20
  #
18
21
  # @param options
19
22
  def as_json(options={})
@@ -22,5 +22,4 @@
22
22
  =yield
23
23
 
24
24
  %footer#footer
25
- %p
26
- \Powered by EMS
25
+ %p= "Powered by EMS #{Ems::VERSION}"
@@ -1,3 +1,3 @@
1
1
  module Ems
2
- VERSION = "0.1.6"
2
+ VERSION = "0.1.7"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ems
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
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: 2012-07-25 00:00:00.000000000 Z
12
+ date: 2012-09-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -552,7 +552,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
552
552
  version: '0'
553
553
  segments:
554
554
  - 0
555
- hash: 150353376208711007
555
+ hash: 1341355416954403944
556
556
  required_rubygems_version: !ruby/object:Gem::Requirement
557
557
  none: false
558
558
  requirements:
@@ -561,10 +561,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
561
561
  version: '0'
562
562
  segments:
563
563
  - 0
564
- hash: 150353376208711007
564
+ hash: 1341355416954403944
565
565
  requirements: []
566
566
  rubyforge_project:
567
- rubygems_version: 1.8.24
567
+ rubygems_version: 1.8.19
568
568
  signing_key:
569
569
  specification_version: 3
570
570
  summary: Editorial Management System