publinator 0.0.7 → 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/app/controllers/publinator/manage/publishable_types_controller.rb +68 -0
- data/app/controllers/publinator/manage/sections_controller.rb +1 -1
- data/app/controllers/publinator/publishable_controller.rb +18 -5
- data/app/helpers/publinator/manage/publishable_types_helper.rb +4 -0
- data/app/models/publinator/asset_item.rb +1 -1
- data/app/models/publinator/publishable_type.rb +1 -1
- data/app/views/publinator/manage/index.html.erb +5 -0
- data/app/views/publinator/manage/publishable/_form.html.erb +1 -1
- data/app/views/publinator/manage/publishable/show.html.erb +2 -2
- data/app/views/publinator/manage/publishable_types/_form.html.erb +19 -0
- data/app/views/publinator/manage/publishable_types/edit.html.erb +6 -0
- data/app/views/publinator/manage/publishable_types/index.html.erb +22 -0
- data/app/views/publinator/manage/publishable_types/new.html.erb +5 -0
- data/app/views/publinator/manage/publishable_types/show.html.erb +5 -0
- data/config/routes.rb +7 -5
- data/db/migrate/20120726234703_create_publinator_publishable_types.rb +2 -1
- data/lib/publinator/version.rb +1 -1
- data/lib/publinator.rb +5 -13
- metadata +10 -3
@@ -0,0 +1,68 @@
|
|
1
|
+
module Publinator
|
2
|
+
class Manage::PublishableTypesController < ManageController
|
3
|
+
def index
|
4
|
+
@publishable_types = Publinator::PublishableType.all
|
5
|
+
respond_to do |format|
|
6
|
+
format.html # index.html.erb
|
7
|
+
format.json { render json: @manage_publishable_types }
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
def show
|
12
|
+
@manage_publishable_type = Manage::PublishableType.find(params[:id])
|
13
|
+
|
14
|
+
respond_to do |format|
|
15
|
+
format.html # show.html.erb
|
16
|
+
format.json { render json: @manage_publishable_type }
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def new
|
21
|
+
@manage_publishable_type = Manage::PublishableType.new
|
22
|
+
|
23
|
+
respond_to do |format|
|
24
|
+
format.html # new.html.erb
|
25
|
+
format.json { render json: @manage_publishable_type }
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def edit
|
30
|
+
@publishable_type = PublishableType.find(params[:id])
|
31
|
+
end
|
32
|
+
|
33
|
+
def create
|
34
|
+
@manage_publishable_type = Manage::PublishableType.new(params[:manage_publishable_type])
|
35
|
+
respond_to do |format|
|
36
|
+
if @manage_publishable_type.save
|
37
|
+
format.html { redirect_to manage_publishable_types_path, notice: 'Publishable type was successfully created.' }
|
38
|
+
format.json { render json: @manage_publishable_type, status: :created, location: @manage_publishable_type }
|
39
|
+
else
|
40
|
+
format.html { render action: "new" }
|
41
|
+
format.json { render json: @manage_publishable_type.errors, status: :unprocessable_entity }
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def update
|
47
|
+
@manage_publishable_type = Publinator::PublishableType.find(params[:id])
|
48
|
+
respond_to do |format|
|
49
|
+
if @manage_publishable_type.update_attributes(params[:manage_publishable_type])
|
50
|
+
format.html { redirect_to manage_publishable_types_path, notice: 'Publishable type was successfully updated.' }
|
51
|
+
format.json { head :no_content }
|
52
|
+
else
|
53
|
+
format.html { render action: "edit" }
|
54
|
+
format.json { render json: @manage_publishable_type.errors, status: :unprocessable_entity }
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
def destroy
|
60
|
+
@manage_publishable_type = Publinator::PublishableType.find(params[:id])
|
61
|
+
@manage_publishable_type.destroy
|
62
|
+
respond_to do |format|
|
63
|
+
format.html { redirect_to manage_publishable_types_url }
|
64
|
+
format.json { head :no_content }
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
@@ -3,11 +3,24 @@ require_dependency "publinator/application_controller"
|
|
3
3
|
module Publinator
|
4
4
|
class PublishableController < Publinator::ApplicationController
|
5
5
|
def index
|
6
|
-
@
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
6
|
+
@publication = Publinator::Publication.find_by_publishable_type_and_slug(params[:publishable_type].singularize.capitalize, 'index')
|
7
|
+
if @publication.nil?
|
8
|
+
logger.info "looking for publication with slug #{params[:publishable_type]}"
|
9
|
+
@publication = Publinator::Publication.find_by_slug(params[:publishable_type])
|
10
|
+
@publishable = @publication.publishable
|
11
|
+
logger.info @publication.to_yaml
|
12
|
+
begin
|
13
|
+
render "#{params[:publishable_type]}/show"
|
14
|
+
rescue ActionView::MissingTemplate
|
15
|
+
render "publinator/publishable/show"
|
16
|
+
end
|
17
|
+
else
|
18
|
+
@publishables = current_site.publications('published', 'updated_at desc', params["publishable_type"].singularize.capitalize)
|
19
|
+
begin
|
20
|
+
render "#{params[:publishable_type]}/index"
|
21
|
+
rescue ActionView::MissingTemplate
|
22
|
+
render "publinator/publishable/index"
|
23
|
+
end
|
11
24
|
end
|
12
25
|
end
|
13
26
|
|
@@ -14,7 +14,7 @@
|
|
14
14
|
<%= form.semantic_fields_for :asset_items do |asset_form| %>
|
15
15
|
<%= asset_form.inputs "Asset" do %>
|
16
16
|
<%= asset_form.input :asset_type, :as => :select, :collection => @publishable.asset_types %>
|
17
|
-
<%= asset_form.input :
|
17
|
+
<%= asset_form.input :asset, :as => :file %>
|
18
18
|
<% end %>
|
19
19
|
<% end %>
|
20
20
|
<% end %>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<h1><%= @publishable.title %></h1>
|
2
2
|
|
3
|
-
<% @publishable.
|
4
|
-
<%=
|
3
|
+
<% @publishable.asset_items.each do |ai| %>
|
4
|
+
<%= link_to(image_tag(ai.asset.url(:thumb)), ai.asset.url(:original), :target => "_new") %>
|
5
5
|
<% end %>
|
6
6
|
|
7
7
|
<p>
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<%= semantic_form_for [:manage, @publishable_type] do |f| %>
|
2
|
+
<% if @publishable_type.errors.any? %>
|
3
|
+
<div id="error_explanation">
|
4
|
+
<h2><%= pluralize(@manage_publishable_type.errors.count, "error") %> prohibited this manage_publishable_type from being saved:</h2>
|
5
|
+
|
6
|
+
<ul>
|
7
|
+
<% @manage_publishable_type.errors.full_messages.each do |msg| %>
|
8
|
+
<li><%= msg %></li>
|
9
|
+
<% end %>
|
10
|
+
</ul>
|
11
|
+
</div>
|
12
|
+
<% end %>
|
13
|
+
|
14
|
+
|
15
|
+
<%= f.inputs %>
|
16
|
+
<div class="actions">
|
17
|
+
<%= f.actions %>
|
18
|
+
</div>
|
19
|
+
<% end %>
|
@@ -0,0 +1,22 @@
|
|
1
|
+
<h1>Listing manage_publishable_types</h1>
|
2
|
+
|
3
|
+
<table>
|
4
|
+
<tr>
|
5
|
+
<th></th>
|
6
|
+
<th></th>
|
7
|
+
<th></th>
|
8
|
+
</tr>
|
9
|
+
|
10
|
+
<% @publishable_types.each do |publishable_type| %>
|
11
|
+
<tr>
|
12
|
+
<td><%= publishable_type.name %></td>
|
13
|
+
<td><%= link_to 'Show', manage_publishable_type_path(publishable_type) %></td>
|
14
|
+
<td><%= link_to 'Edit', edit_manage_publishable_type_path(publishable_type) %></td>
|
15
|
+
<td><%= link_to 'Destroy', manage_publishable_type_path(publishable_type), method: :delete, data: { confirm: 'Are you sure?' } %></td>
|
16
|
+
</tr>
|
17
|
+
<% end %>
|
18
|
+
</table>
|
19
|
+
|
20
|
+
<br />
|
21
|
+
|
22
|
+
<%= link_to 'New Publishable type', new_manage_publishable_type_path %>
|
data/config/routes.rb
CHANGED
@@ -36,6 +36,7 @@ Publinator::Engine.routes.draw do
|
|
36
36
|
resources :pages
|
37
37
|
resources :sites
|
38
38
|
resources :sections
|
39
|
+
resources :publishable_types
|
39
40
|
end
|
40
41
|
|
41
42
|
#constraints(Publinator::PublishableType) do
|
@@ -48,6 +49,12 @@ Publinator::Engine.routes.draw do
|
|
48
49
|
#:publishable_type => /\A([a-zA-Z]+[a-zA-Z_]*)\z/i
|
49
50
|
#}, :as => "publishable"
|
50
51
|
#end
|
52
|
+
#
|
53
|
+
|
54
|
+
Publinator::PublishableType.all.each do |pt|
|
55
|
+
resources pt.name.pluralize.downcase.to_sym, :controller => "publishable", :only => [:index, :show], :publishable_type => pt.name.pluralize.downcase
|
56
|
+
end
|
57
|
+
|
51
58
|
|
52
59
|
constraints(Publinator::Section) do
|
53
60
|
match '/:section/' => "section#index", :requirements => {
|
@@ -64,11 +71,6 @@ Publinator::Engine.routes.draw do
|
|
64
71
|
:slug => /\A([a-zA-Z]+[a-zA-Z\-_]*)\z/i
|
65
72
|
}, :as => 'publishable'
|
66
73
|
|
67
|
-
Publinator::PublishableType.all.each do |pt|
|
68
|
-
resources pt.name.pluralize.downcase.to_sym, :controller => "publishable", :only => [:index, :show]
|
69
|
-
end
|
70
|
-
|
71
|
-
|
72
74
|
root :to => "home#index"
|
73
75
|
match '/' => 'home#index'
|
74
76
|
|
@@ -2,7 +2,8 @@ class CreatePublinatorPublishableTypes < ActiveRecord::Migration
|
|
2
2
|
def change
|
3
3
|
create_table :publinator_publishable_types do |t|
|
4
4
|
t.string :name
|
5
|
-
t.
|
5
|
+
t.boolean :sluggable, :default => true
|
6
|
+
t.boolean :layout, :default => false
|
6
7
|
t.timestamps
|
7
8
|
end
|
8
9
|
end
|
data/lib/publinator/version.rb
CHANGED
data/lib/publinator.rb
CHANGED
@@ -42,17 +42,17 @@ module Publinator
|
|
42
42
|
[]
|
43
43
|
end
|
44
44
|
|
45
|
-
def
|
46
|
-
|
47
|
-
|
45
|
+
def asset_files(asset_type_text = nil)
|
46
|
+
return asset_items if !asset_type_text
|
47
|
+
asset_items.where(:asset_type => asset_type_text)
|
48
48
|
end
|
49
49
|
|
50
50
|
def my_slug
|
51
51
|
publication.slug
|
52
52
|
end
|
53
53
|
|
54
|
-
def
|
55
|
-
|
54
|
+
def related_items(scope)
|
55
|
+
[]
|
56
56
|
end
|
57
57
|
|
58
58
|
def editable_fields
|
@@ -81,14 +81,6 @@ module Publinator
|
|
81
81
|
self.publication.section = section unless !section
|
82
82
|
self.publication.default = default
|
83
83
|
end
|
84
|
-
|
85
|
-
private
|
86
|
-
|
87
|
-
def get_asset_by_type(asset_type_text)
|
88
|
-
all_of_asset_type = asset_items.where(:asset_type => asset_type_text)
|
89
|
-
all_of_asset_type.first if all_of_asset_type && all_of_asset_type.length
|
90
|
-
end
|
91
|
-
|
92
84
|
end
|
93
85
|
end
|
94
86
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: publinator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -255,6 +255,7 @@ files:
|
|
255
255
|
- app/controllers/publinator/home_controller.rb
|
256
256
|
- app/controllers/publinator/manage/pages_controller.rb
|
257
257
|
- app/controllers/publinator/manage/publishable_controller.rb
|
258
|
+
- app/controllers/publinator/manage/publishable_types_controller.rb
|
258
259
|
- app/controllers/publinator/manage/sections_controller.rb
|
259
260
|
- app/controllers/publinator/manage/sites_controller.rb
|
260
261
|
- app/controllers/publinator/manage_controller.rb
|
@@ -262,6 +263,7 @@ files:
|
|
262
263
|
- app/controllers/publinator/section_controller.rb
|
263
264
|
- app/helpers/publinator/application_helper.rb
|
264
265
|
- app/helpers/publinator/home_helper.rb
|
266
|
+
- app/helpers/publinator/manage/publishable_types_helper.rb
|
265
267
|
- app/helpers/publinator/manage/sections_helper.rb
|
266
268
|
- app/models/publinator/asset_item.rb
|
267
269
|
- app/models/publinator/domain_name.rb
|
@@ -292,6 +294,11 @@ files:
|
|
292
294
|
- app/views/publinator/manage/publishable/index.html.erb
|
293
295
|
- app/views/publinator/manage/publishable/new.html.erb
|
294
296
|
- app/views/publinator/manage/publishable/show.html.erb
|
297
|
+
- app/views/publinator/manage/publishable_types/_form.html.erb
|
298
|
+
- app/views/publinator/manage/publishable_types/edit.html.erb
|
299
|
+
- app/views/publinator/manage/publishable_types/index.html.erb
|
300
|
+
- app/views/publinator/manage/publishable_types/new.html.erb
|
301
|
+
- app/views/publinator/manage/publishable_types/show.html.erb
|
295
302
|
- app/views/publinator/manage/sections/_form.html.erb
|
296
303
|
- app/views/publinator/manage/sections/edit.html.erb
|
297
304
|
- app/views/publinator/manage/sections/index.html.erb
|
@@ -343,7 +350,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
343
350
|
version: '0'
|
344
351
|
segments:
|
345
352
|
- 0
|
346
|
-
hash:
|
353
|
+
hash: 3405866272499408844
|
347
354
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
348
355
|
none: false
|
349
356
|
requirements:
|
@@ -352,7 +359,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
352
359
|
version: '0'
|
353
360
|
segments:
|
354
361
|
- 0
|
355
|
-
hash:
|
362
|
+
hash: 3405866272499408844
|
356
363
|
requirements: []
|
357
364
|
rubyforge_project:
|
358
365
|
rubygems_version: 1.8.24
|