godmin 0.12.3 → 0.12.4
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/README.md +6 -1
- data/app/assets/javascripts/godmin/index.js +0 -2
- data/lib/generators/godmin/install/install_generator.rb +5 -1
- data/lib/godmin/version.rb +1 -1
- data/template.rb +147 -0
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 23cb0a9e87abfb6bc2aac4b0185a5951ac29d558
|
|
4
|
+
data.tar.gz: 015627e42d6d719cf8d8c1e38d8d0ddd47aef510
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5dbf6f79d8127cd2cf3d6434050be4c1270c0500912e92a23bde6fb98417335c9c91228def598cd9f14b03233908b4ab2b8db9832503c83df3c1513c0591a441
|
|
7
|
+
data.tar.gz: 1026fb15383f4b75be2bfa98160dad0340864c92510ec389c4725c464d9bc422fe1e68dbb0a8043f3742cfa46057d7f06987854652a215014ac27777f43a0421
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
### 0.12.4 - 2015-10-21
|
|
4
|
+
Bug fixes
|
|
5
|
+
- Fixes a bug which made it impossible to override the datetimepicker locale (https://github.com/varvet/godmin/issues/132)
|
|
6
|
+
|
|
3
7
|
### 0.12.3 - 2015-09-18
|
|
4
8
|
Bug fixes
|
|
5
9
|
- Adds support for plural engines (https://github.com/varvet/godmin/pull/128)
|
data/README.md
CHANGED
|
@@ -44,6 +44,11 @@ Godmin supports two common admin scenarios:
|
|
|
44
44
|
1. Standalone installation
|
|
45
45
|
2. Engine installation
|
|
46
46
|
|
|
47
|
+
If you want to set up an example app that you can play around with, run the following:
|
|
48
|
+
```sh
|
|
49
|
+
rails new sandbox -m https://raw.githubusercontent.com/varvet/godmin/master/template.rb
|
|
50
|
+
```
|
|
51
|
+
|
|
47
52
|
### Standalone installation
|
|
48
53
|
Use for admin-only applications, or for architectures where the admin lives in its own app. E.g. you want to access the admin section at `localhost:3000`.
|
|
49
54
|
|
|
@@ -817,7 +822,7 @@ Godmin.Datetimepickers.initializeDatetimepicker($el, {
|
|
|
817
822
|
});
|
|
818
823
|
```
|
|
819
824
|
|
|
820
|
-
If you wish to translate the datetimepicker,
|
|
825
|
+
If you wish to translate the datetimepicker, change `moment/en-gb` in your `app/assets/javascripts/application.js` to your desired locale:
|
|
821
826
|
|
|
822
827
|
```js
|
|
823
828
|
//= require moment
|
|
@@ -25,7 +25,11 @@ class Godmin::InstallGenerator < Godmin::Generators::Base
|
|
|
25
25
|
application_js = File.join("app/assets/javascripts", namespaced_path, "application.js")
|
|
26
26
|
|
|
27
27
|
inject_into_file application_js, before: "//= require_tree ." do
|
|
28
|
-
|
|
28
|
+
<<-END.strip_heredoc
|
|
29
|
+
//= require moment
|
|
30
|
+
//= require moment/en-gb
|
|
31
|
+
//= require godmin
|
|
32
|
+
END
|
|
29
33
|
end
|
|
30
34
|
|
|
31
35
|
gsub_file application_js, /\/\/= require turbolinks\n/, ""
|
data/lib/godmin/version.rb
CHANGED
data/template.rb
ADDED
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
require "active_support/all"
|
|
2
|
+
|
|
3
|
+
def install_standalone
|
|
4
|
+
gem "godmin", "> 0.12"
|
|
5
|
+
|
|
6
|
+
after_bundle do
|
|
7
|
+
generate_model
|
|
8
|
+
generate("godmin:install")
|
|
9
|
+
generate("godmin:resource", "article")
|
|
10
|
+
|
|
11
|
+
modify_controller
|
|
12
|
+
modify_service
|
|
13
|
+
|
|
14
|
+
migrate_and_seed
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def install_engine
|
|
19
|
+
run_ruby_script("bin/rails plugin new admin --mountable")
|
|
20
|
+
|
|
21
|
+
gsub_file "admin/admin.gemspec", "TODO: ", ""
|
|
22
|
+
gsub_file "admin/admin.gemspec", "TODO", ""
|
|
23
|
+
|
|
24
|
+
inject_into_file "admin/admin.gemspec", before: /^end/ do
|
|
25
|
+
<<-END.strip_heredoc.indent(2)
|
|
26
|
+
s.add_dependency "godmin", "> 0.12"
|
|
27
|
+
END
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
gem "admin", path: "admin"
|
|
31
|
+
|
|
32
|
+
after_bundle do
|
|
33
|
+
generate_model
|
|
34
|
+
run_ruby_script("admin/bin/rails g godmin:install")
|
|
35
|
+
run_ruby_script("admin/bin/rails g godmin:resource article")
|
|
36
|
+
|
|
37
|
+
inject_into_file "config/routes.rb", before: /^end/ do
|
|
38
|
+
<<-END.strip_heredoc.indent(2)
|
|
39
|
+
mount Admin::Engine, at: "admin"
|
|
40
|
+
END
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
modify_controller("admin")
|
|
44
|
+
modify_service("admin")
|
|
45
|
+
|
|
46
|
+
migrate_and_seed
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def generate_model
|
|
51
|
+
generate(:model, "article title:string body:text published:boolean published_at:datetime")
|
|
52
|
+
|
|
53
|
+
append_to_file "db/seeds.rb" do
|
|
54
|
+
<<-END.strip_heredoc
|
|
55
|
+
Article.create! title: "The first article", published: false
|
|
56
|
+
Article.create! title: "The second article", published: false
|
|
57
|
+
Article.create! title: "The third article", published: true, published_at: Time.zone.now
|
|
58
|
+
END
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def modify_controller(namespace = nil)
|
|
63
|
+
articles_controller =
|
|
64
|
+
if namespace
|
|
65
|
+
"admin/app/controllers/admin/articles_controller.rb"
|
|
66
|
+
else
|
|
67
|
+
"app/controllers/articles_controller.rb"
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
inject_into_file articles_controller, after: "Godmin::Resources::ResourceController\n" do
|
|
71
|
+
<<-END.strip_heredoc.indent(namespace ? 4 : 2)
|
|
72
|
+
|
|
73
|
+
private
|
|
74
|
+
|
|
75
|
+
def redirect_after_batch_action_unpublish
|
|
76
|
+
articles_path(scope: :unpublished)
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
def redirect_after_batch_action_publish
|
|
80
|
+
articles_path(scope: :published)
|
|
81
|
+
end
|
|
82
|
+
END
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
def modify_service(namespace = nil)
|
|
87
|
+
article_service =
|
|
88
|
+
if namespace
|
|
89
|
+
"admin/app/services/admin/article_service.rb"
|
|
90
|
+
else
|
|
91
|
+
"app/services/article_service.rb"
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
gsub_file article_service, "attrs_for_index", "attrs_for_index :title, :published_at"
|
|
95
|
+
gsub_file article_service, "attrs_for_show", "attrs_for_show :title, :body, :published, :published_at"
|
|
96
|
+
gsub_file article_service, "attrs_for_form", "attrs_for_form :title, :body, :published, :published_at"
|
|
97
|
+
|
|
98
|
+
inject_into_file article_service, after: "attrs_for_form :title, :body, :published, :published_at \n" do
|
|
99
|
+
<<-END.strip_heredoc.indent(namespace ? 4 : 2)
|
|
100
|
+
attrs_for_export :id, :title, :published, :published_at
|
|
101
|
+
|
|
102
|
+
scope :unpublished
|
|
103
|
+
scope :published
|
|
104
|
+
|
|
105
|
+
def scope_unpublished(articles)
|
|
106
|
+
articles.where(published: false)
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
def scope_published(articles)
|
|
110
|
+
articles.where(published: true)
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
filter :title
|
|
114
|
+
|
|
115
|
+
def filter_title(articles, value)
|
|
116
|
+
articles.where(title: value)
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
batch_action :unpublish, except: [:unpublished]
|
|
120
|
+
batch_action :publish, except: [:published]
|
|
121
|
+
batch_action :destroy, confirm: true
|
|
122
|
+
|
|
123
|
+
def batch_action_unpublish(articles)
|
|
124
|
+
articles.each { |a| a.update(published: false) }
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
def batch_action_publish(articles)
|
|
128
|
+
articles.each { |a| a.update(published: true) }
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
def batch_action_destroy(articles)
|
|
132
|
+
articles.each { |a| a.destroy }
|
|
133
|
+
end
|
|
134
|
+
END
|
|
135
|
+
end
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
def migrate_and_seed
|
|
139
|
+
rake("db:migrate")
|
|
140
|
+
rake("db:seed")
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
if yes?("Place godmin in admin engine?")
|
|
144
|
+
install_engine
|
|
145
|
+
else
|
|
146
|
+
install_standalone
|
|
147
|
+
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: godmin
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.12.
|
|
4
|
+
version: 0.12.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jens Ljungblad
|
|
@@ -10,7 +10,7 @@ authors:
|
|
|
10
10
|
autorequire:
|
|
11
11
|
bindir: bin
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date: 2015-
|
|
13
|
+
date: 2015-10-21 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: bcrypt
|
|
@@ -335,6 +335,7 @@ files:
|
|
|
335
335
|
- lib/godmin/version.rb
|
|
336
336
|
- lib/tasks/godmin_tasks.rake
|
|
337
337
|
- screenshot.png
|
|
338
|
+
- template.rb
|
|
338
339
|
- test/dummy/Rakefile
|
|
339
340
|
- test/dummy/admin/Rakefile
|
|
340
341
|
- test/dummy/admin/admin.gemspec
|