typus 3.1.0.rc3 → 3.1.0.rc4
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/Rakefile +1 -1
- data/app/views/admin/templates/_rich_text.html.erb +17 -0
- data/app/views/admin/templates/_string_with_preview.html.erb +12 -0
- data/lib/typus.rb +4 -0
- data/lib/typus/controller/featured_image.rb +24 -0
- data/lib/typus/controller/headless.rb +28 -0
- data/lib/typus/controller/multisite.rb +12 -0
- data/lib/typus/controller/trash.rb +54 -0
- data/lib/typus/version.rb +1 -1
- metadata +7 -1
data/Rakefile
CHANGED
@@ -0,0 +1,17 @@
|
|
1
|
+
<% content_for :javascripts do %>
|
2
|
+
<%= javascript_include_tag '/vendor/ckeditor/ckeditor' %>
|
3
|
+
<% end %>
|
4
|
+
|
5
|
+
<%
|
6
|
+
custom = { :rows => @resource.typus_options_for(:form_rows), :class => "rich_text" }
|
7
|
+
options = options.merge!(custom)
|
8
|
+
%>
|
9
|
+
|
10
|
+
<input type="hidden"
|
11
|
+
id="pageListJSON"
|
12
|
+
value="[<%= Page.all.map { |p| "['#{p.to_label}', '/pages/#{p.permalink}']" }.join(", ") %>]">
|
13
|
+
|
14
|
+
<li id="<%= attribute %>">
|
15
|
+
<%= form.label attribute, label_text %>
|
16
|
+
<%= form.text_area attribute, options %>
|
17
|
+
</li>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<%
|
2
|
+
unless @item.new_record?
|
3
|
+
label_text << " <small>"
|
4
|
+
label_text << link_to(Typus::I18n.t("Preview"), send("#{@item.class.model_name.downcase}_path",@item.to_param), :target => "_blank")
|
5
|
+
label_text << "</small>"
|
6
|
+
end
|
7
|
+
%>
|
8
|
+
|
9
|
+
<li id="<%= attribute %>">
|
10
|
+
<%= form.label attribute, raw(label_text) %>
|
11
|
+
<%= form.text_field attribute, options %>
|
12
|
+
</li>
|
data/lib/typus.rb
CHANGED
@@ -26,8 +26,12 @@ module Typus
|
|
26
26
|
autoload :ActsAs, "typus/controller/acts_as"
|
27
27
|
autoload :Associations, "typus/controller/associations"
|
28
28
|
autoload :Autocomplete, "typus/controller/autocomplete"
|
29
|
+
autoload :FeaturedImage, "typus/controller/featured_image"
|
29
30
|
autoload :Filters, "typus/controller/filters"
|
30
31
|
autoload :Format, "typus/controller/format"
|
32
|
+
autoload :Headless, "typus/controller/headless"
|
33
|
+
autoload :Multisite, "typus/controller/multisite"
|
34
|
+
autoload :Trash, "typus/controller/trash"
|
31
35
|
end
|
32
36
|
|
33
37
|
module Authentication
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Typus
|
2
|
+
module Controller
|
3
|
+
module FeaturedImage
|
4
|
+
|
5
|
+
def set_featured_image
|
6
|
+
attachment = Attachment.find(params[:id])
|
7
|
+
|
8
|
+
item = params[:resource].constantize.unscoped.find(params[:resource_id])
|
9
|
+
item.set_featured_image(attachment.id)
|
10
|
+
|
11
|
+
options = { :controller => params[:resource].tableize, :action => 'edit', :id => item.id }
|
12
|
+
redirect_to options, :notice => Typus::I18n.t("Featured image set")
|
13
|
+
end
|
14
|
+
|
15
|
+
def remove_featured_image
|
16
|
+
item = @resource.unscoped.find(params[:id])
|
17
|
+
item.try(:remove_featured_image)
|
18
|
+
options = { :action => 'edit', :id => item.id }
|
19
|
+
redirect_to options, :notice => Typus::I18n.t("Featured image removed")
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module Typus
|
2
|
+
module Controller
|
3
|
+
module Headless
|
4
|
+
|
5
|
+
def self.included(base)
|
6
|
+
base.before_filter :set_resources_action_for_headless_on_index, :only => [:index]
|
7
|
+
base.before_filter :set_resources_action_for_headless, :only => [:new, :create, :edit, :show]
|
8
|
+
base.layout :set_headless_layout
|
9
|
+
end
|
10
|
+
|
11
|
+
def set_resources_action_for_headless_on_index
|
12
|
+
add_resources_action("Add new", {:action => "new"}, {})
|
13
|
+
end
|
14
|
+
private :set_resources_action_for_headless_on_index
|
15
|
+
|
16
|
+
def set_resources_action_for_headless
|
17
|
+
add_resources_action("Back to list", {:action => 'index', :id => nil}, {})
|
18
|
+
end
|
19
|
+
private :set_resources_action_for_headless
|
20
|
+
|
21
|
+
def set_headless_layout
|
22
|
+
params[:layout] || "admin/base"
|
23
|
+
end
|
24
|
+
private :set_headless_layout
|
25
|
+
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
module Typus
|
2
|
+
module Controller
|
3
|
+
module Trash
|
4
|
+
|
5
|
+
def self.included(base)
|
6
|
+
base.before_filter :set_predefined_filter_for_trash, :only => [:index, :trash]
|
7
|
+
end
|
8
|
+
|
9
|
+
def set_predefined_filter_for_trash
|
10
|
+
add_predefined_filter("Trash", "trash", "deleted")
|
11
|
+
end
|
12
|
+
private :set_predefined_filter_for_trash
|
13
|
+
|
14
|
+
def trash
|
15
|
+
set_deleted
|
16
|
+
|
17
|
+
get_objects
|
18
|
+
|
19
|
+
respond_to do |format|
|
20
|
+
format.html do
|
21
|
+
# Actions by resource.
|
22
|
+
add_resource_action('Restore', {:action => 'restore'}, {:confirm => Typus::I18n.t("Restore %{resource}?", :resource => @resource.model_name.human)})
|
23
|
+
add_resource_action('Delete Permanently', {:action => 'wipe'}, {:confirm => Typus::I18n.t("Delete Permanently %{resource}?", :resource => @resource.model_name.human)})
|
24
|
+
# Generate and render.
|
25
|
+
generate_html
|
26
|
+
render 'index'
|
27
|
+
end
|
28
|
+
@resource.typus_export_formats.each { |f| format.send(f) { send("generate_#{f}") } }
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def restore
|
33
|
+
set_deleted
|
34
|
+
@resource.find(params[:id]).restore
|
35
|
+
redirect_to :back, :notice => Typus::I18n.t("%{resource} recovered from trash.", :resource => @resource.name)
|
36
|
+
rescue ActiveRecord::RecordNotFound
|
37
|
+
redirect_to :back, :notice => Typus::I18n.t("%{resource} can't be recovered from trash.", :resource => @resource.name)
|
38
|
+
end
|
39
|
+
|
40
|
+
def wipe
|
41
|
+
set_deleted
|
42
|
+
item = @resource.find(params[:id])
|
43
|
+
item.disable_trash { item.destroy }
|
44
|
+
redirect_to :back, :notice => Typus::I18n.t("%{resource} has been successfully removed from trash.", :resource => @resource.name)
|
45
|
+
end
|
46
|
+
|
47
|
+
def set_deleted
|
48
|
+
@resource = @resource.deleted
|
49
|
+
end
|
50
|
+
private :set_deleted
|
51
|
+
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
data/lib/typus/version.rb
CHANGED
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: typus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease: 6
|
5
|
-
version: 3.1.0.
|
5
|
+
version: 3.1.0.rc4
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Francesc Esplugas
|
@@ -242,8 +242,10 @@ files:
|
|
242
242
|
- app/views/admin/templates/_profile_sidebar.html.erb
|
243
243
|
- app/views/admin/templates/_relate_form.html.erb
|
244
244
|
- app/views/admin/templates/_relate_form_with_autocomplete.html.erb
|
245
|
+
- app/views/admin/templates/_rich_text.html.erb
|
245
246
|
- app/views/admin/templates/_selector.html.erb
|
246
247
|
- app/views/admin/templates/_string.html.erb
|
248
|
+
- app/views/admin/templates/_string_with_preview.html.erb
|
247
249
|
- app/views/admin/templates/_text.html.erb
|
248
250
|
- app/views/admin/templates/_time.html.erb
|
249
251
|
- app/views/admin/templates/_tree.html.erb
|
@@ -307,8 +309,12 @@ files:
|
|
307
309
|
- lib/typus/controller/acts_as.rb
|
308
310
|
- lib/typus/controller/associations.rb
|
309
311
|
- lib/typus/controller/autocomplete.rb
|
312
|
+
- lib/typus/controller/featured_image.rb
|
310
313
|
- lib/typus/controller/filters.rb
|
311
314
|
- lib/typus/controller/format.rb
|
315
|
+
- lib/typus/controller/headless.rb
|
316
|
+
- lib/typus/controller/multisite.rb
|
317
|
+
- lib/typus/controller/trash.rb
|
312
318
|
- lib/typus/engine.rb
|
313
319
|
- lib/typus/i18n.rb
|
314
320
|
- lib/typus/orm/active_record.rb
|