phcpress 9.0.1 → 9.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/MIT-LICENSE +20 -20
  3. data/README.md +46 -46
  4. data/Rakefile +33 -33
  5. data/app/assets/config/phcpress_manifest.js +2 -2
  6. data/app/assets/javascripts/phcpress/application.js +2 -2
  7. data/app/assets/stylesheets/phcpress/application.scss +2 -2
  8. data/app/controllers/phcpress/api/v1/categories_controller.rb +15 -15
  9. data/app/controllers/phcpress/api/v1/posts_controller.rb +15 -15
  10. data/app/controllers/phcpress/application_controller.rb +12 -12
  11. data/app/controllers/phcpress/articles/posts_controller.rb +67 -67
  12. data/app/controllers/phcpress/frontend/articles_controller.rb +20 -20
  13. data/app/controllers/phcpress/modules/categories_controller.rb +65 -65
  14. data/app/controllers/phcpress/modules/connections_controller.rb +65 -65
  15. data/app/helpers/phcpress/application_helper.rb +14 -14
  16. data/app/jobs/phcpress/application_job.rb +4 -4
  17. data/app/mailers/phcpress/application_mailer.rb +6 -6
  18. data/app/models/phcpress/api/v1/category.rb +4 -4
  19. data/app/models/phcpress/api/v1/post.rb +4 -4
  20. data/app/models/phcpress/application_record.rb +5 -5
  21. data/app/models/phcpress/articles.rb +7 -7
  22. data/app/models/phcpress/articles/post.rb +30 -30
  23. data/app/models/phcpress/frontend.rb +7 -7
  24. data/app/models/phcpress/frontend/article.rb +4 -4
  25. data/app/models/phcpress/modules.rb +7 -7
  26. data/app/models/phcpress/modules/category.rb +20 -20
  27. data/app/models/phcpress/modules/connection.rb +15 -15
  28. data/app/uploaders/phcpress/pstimage_uploader.rb +30 -30
  29. data/app/views/layouts/components/backend/footer/_footer.html.erb +4 -4
  30. data/app/views/layouts/components/backend/navigation/_navigation.html.erb +48 -48
  31. data/app/views/layouts/components/backend/topbar/_topbar.html.erb +5 -5
  32. data/app/views/layouts/phcpress/application.html.erb +57 -57
  33. data/app/views/layouts/phcpress/frontend.html.erb +24 -24
  34. data/app/views/phcpress/api/v1/categories/index.json.rabl +2 -2
  35. data/app/views/phcpress/api/v1/posts/index.json.rabl +2 -2
  36. data/app/views/phcpress/articles/posts/_form.html.erb +84 -84
  37. data/app/views/phcpress/articles/posts/edit.html.erb +32 -32
  38. data/app/views/phcpress/articles/posts/index.html.erb +69 -69
  39. data/app/views/phcpress/articles/posts/new.html.erb +32 -32
  40. data/app/views/phcpress/articles/posts/show.html.erb +40 -40
  41. data/app/views/phcpress/frontend/articles/index.html.erb +76 -76
  42. data/app/views/phcpress/frontend/articles/show.html.erb +72 -72
  43. data/app/views/phcpress/modules/categories/_form.html.erb +20 -20
  44. data/app/views/phcpress/modules/categories/edit.html.erb +39 -39
  45. data/app/views/phcpress/modules/categories/index.html.erb +66 -66
  46. data/app/views/phcpress/modules/categories/new.html.erb +39 -39
  47. data/app/views/phcpress/modules/categories/show.html.erb +40 -40
  48. data/app/views/phcpress/modules/connections/_form.html.erb +24 -24
  49. data/app/views/phcpress/modules/connections/edit.html.erb +39 -39
  50. data/app/views/phcpress/modules/connections/index.html.erb +66 -66
  51. data/app/views/phcpress/modules/connections/new.html.erb +39 -39
  52. data/app/views/phcpress/modules/connections/show.html.erb +50 -50
  53. data/config/initializers/friendly_id.rb +92 -92
  54. data/config/routes.rb +27 -27
  55. data/config/tinymce.yml +5 -5
  56. data/db/migrate/20160716182848_create_phcpress_modules_categories.rb +18 -18
  57. data/db/migrate/20160720181307_create_phcpress_articles_posts.rb +21 -21
  58. data/db/migrate/20160720235314_create_phcpress_modules_connections.rb +19 -19
  59. data/db/migrate/20170509180858_create_friendly_id_slugs.rb +15 -15
  60. data/lib/phcpress.rb +4 -4
  61. data/lib/phcpress/engine.rb +68 -68
  62. data/lib/phcpress/version.rb +3 -3
  63. data/lib/tasks/phcpress_tasks.rake +4 -4
  64. metadata +23 -53
@@ -1,39 +1,39 @@
1
- <!-- Title System -->
2
- <% phc_title "PHCPress Plugin: Connections" %>
3
- <% phc_title_tagline "Create a New Plugin Connection" %>
4
- <% phc_breadcrumb_one link_to "Connection Index", phcpresspro.modules_connections_path %>
5
- <% phc_breadcrumb_two yield(:phc_title_tagline) %>
6
- <!-- Title System -->
7
-
8
- <!-- Page Title Bar -->
9
- <section class="content-header">
10
- <!-- Page Title and BreadCrumb -->
11
- <h1><%= yield(:phc_title) %> <small><%= yield(:phc_title_tagline) %></small></h1>
12
- <ol class="breadcrumb">
13
- <li><%= yield(:phc_breadcrumb_one) %></li>
14
- <li class="active"><%= yield(:phc_breadcrumb_two) %></li>
15
- </ol>
16
- <!-- Page Title and BreadCrumb -->
17
- </section>
18
- <!-- Page Title Bar -->
19
-
20
- <!-- Main Content -->
21
- <section class="content">
22
- <div class="row">
23
- <div class="col-lg-12">
24
- <div class="box">
25
- <div class="box-header with-border">
26
- <h3 class="box-title"><%= yield(:phc_title) %></h3>
27
- </div>
28
- <div class="box-body">
29
-
30
- <!-- Page Form (New) -->
31
- <%= render 'form', modules_connection: @modules_connection %>
32
- <!-- Page Form (New) -->
33
-
34
- </div>
35
- </div>
36
- </div>
37
- </div>
38
- </section>
39
- <!-- Main Content -->
1
+ <!-- Title System -->
2
+ <% phc_title "PHCPress Plugin: Connections" %>
3
+ <% phc_title_tagline "Create a New Plugin Connection" %>
4
+ <% phc_breadcrumb_one link_to "Connection Index", phcpresspro.modules_connections_path %>
5
+ <% phc_breadcrumb_two yield(:phc_title_tagline) %>
6
+ <!-- Title System -->
7
+
8
+ <!-- Page Title Bar -->
9
+ <section class="content-header">
10
+ <!-- Page Title and BreadCrumb -->
11
+ <h1><%= yield(:phc_title) %> <small><%= yield(:phc_title_tagline) %></small></h1>
12
+ <ol class="breadcrumb">
13
+ <li><%= yield(:phc_breadcrumb_one) %></li>
14
+ <li class="active"><%= yield(:phc_breadcrumb_two) %></li>
15
+ </ol>
16
+ <!-- Page Title and BreadCrumb -->
17
+ </section>
18
+ <!-- Page Title Bar -->
19
+
20
+ <!-- Main Content -->
21
+ <section class="content">
22
+ <div class="row">
23
+ <div class="col-lg-12">
24
+ <div class="box">
25
+ <div class="box-header with-border">
26
+ <h3 class="box-title"><%= yield(:phc_title) %></h3>
27
+ </div>
28
+ <div class="box-body">
29
+
30
+ <!-- Page Form (New) -->
31
+ <%= render 'form', modules_connection: @modules_connection %>
32
+ <!-- Page Form (New) -->
33
+
34
+ </div>
35
+ </div>
36
+ </div>
37
+ </div>
38
+ </section>
39
+ <!-- Main Content -->
@@ -1,50 +1,50 @@
1
- <!-- Title System -->
2
- <% phc_title "PHCPress Plugin: Connections" %>
3
- <% phc_title_tagline "Create a New Plugin Connection" %>
4
- <% phc_breadcrumb_one link_to "Connection Index", phcpresspro.modules_connections_path %>
5
- <% phc_breadcrumb_two yield(:phc_title_tagline) %>
6
- <!-- Title System -->
7
-
8
- <!-- Page Title Bar -->
9
- <section class="content-header">
10
- <!-- Page Title and BreadCrumb -->
11
- <h1><%= yield(:phc_title) %> <small><%= yield(:phc_title_tagline) %></small></h1>
12
- <ol class="breadcrumb">
13
- <li><%= yield(:phc_breadcrumb_one) %></li>
14
- <li class="active"><%= yield(:phc_breadcrumb_two) %></li>
15
- </ol>
16
- <!-- Page Title and BreadCrumb -->
17
- </section>
18
- <!-- Page Title Bar -->
19
-
20
- <!-- Main Content -->
21
- <section class="content">
22
- <div class="row">
23
- <div class="col-lg-12">
24
- <div class="box">
25
- <div class="box-header with-border">
26
- <h3 class="box-title"><%= yield(:phc_title) %></h3>
27
- </div>
28
- <div class="box-body">
29
-
30
- <!-- Show Content -->
31
- <p>
32
- <strong>Post:</strong>
33
- <%= @modules_connection.post_id %>
34
- </p>
35
-
36
- <p>
37
- <strong>Category:</strong>
38
- <%= @modules_connection.category_id %>
39
- </p>
40
-
41
- <%= link_to 'Edit', edit_modules_connection_path(@modules_connection) %> |
42
- <%= link_to 'Back', modules_connections_path %>
43
- <!-- Show Content -->
44
-
45
- </div>
46
- </div>
47
- </div>
48
- </div>
49
- </section>
50
- <!-- Main Content -->
1
+ <!-- Title System -->
2
+ <% phc_title "PHCPress Plugin: Connections" %>
3
+ <% phc_title_tagline "Create a New Plugin Connection" %>
4
+ <% phc_breadcrumb_one link_to "Connection Index", phcpresspro.modules_connections_path %>
5
+ <% phc_breadcrumb_two yield(:phc_title_tagline) %>
6
+ <!-- Title System -->
7
+
8
+ <!-- Page Title Bar -->
9
+ <section class="content-header">
10
+ <!-- Page Title and BreadCrumb -->
11
+ <h1><%= yield(:phc_title) %> <small><%= yield(:phc_title_tagline) %></small></h1>
12
+ <ol class="breadcrumb">
13
+ <li><%= yield(:phc_breadcrumb_one) %></li>
14
+ <li class="active"><%= yield(:phc_breadcrumb_two) %></li>
15
+ </ol>
16
+ <!-- Page Title and BreadCrumb -->
17
+ </section>
18
+ <!-- Page Title Bar -->
19
+
20
+ <!-- Main Content -->
21
+ <section class="content">
22
+ <div class="row">
23
+ <div class="col-lg-12">
24
+ <div class="box">
25
+ <div class="box-header with-border">
26
+ <h3 class="box-title"><%= yield(:phc_title) %></h3>
27
+ </div>
28
+ <div class="box-body">
29
+
30
+ <!-- Show Content -->
31
+ <p>
32
+ <strong>Post:</strong>
33
+ <%= @modules_connection.post_id %>
34
+ </p>
35
+
36
+ <p>
37
+ <strong>Category:</strong>
38
+ <%= @modules_connection.category_id %>
39
+ </p>
40
+
41
+ <%= link_to 'Edit', edit_modules_connection_path(@modules_connection) %> |
42
+ <%= link_to 'Back', modules_connections_path %>
43
+ <!-- Show Content -->
44
+
45
+ </div>
46
+ </div>
47
+ </div>
48
+ </div>
49
+ </section>
50
+ <!-- Main Content -->
@@ -1,92 +1,92 @@
1
- # FriendlyId Global Configuration
2
- #
3
- # Use this to set up shared configuration options for your entire application.
4
- # Any of the configuration options shown here can also be applied to single
5
- # models by passing arguments to the `friendly_id` class method or defining
6
- # methods in your model.
7
- #
8
- # To learn more, check out the guide:
9
- #
10
- # http://norman.github.io/friendly_id/file.Guide.html
11
-
12
- FriendlyId.defaults do |config|
13
- # ## Reserved Words
14
- #
15
- # Some words could conflict with Rails's routes when used as slugs, or are
16
- # undesirable to allow as slugs. Edit this list as needed for your app.
17
- config.use :reserved
18
-
19
- config.reserved_words = %w(new edit index session login logout users admin
20
- stylesheets assets javascripts images)
21
-
22
- # ## Friendly Finders
23
- #
24
- # Uncomment this to use friendly finders in all models. By default, if
25
- # you wish to find a record by its friendly id, you must do:
26
- #
27
- # MyModel.friendly.find('foo')
28
- #
29
- # If you uncomment this, you can do:
30
- #
31
- # MyModel.find('foo')
32
- #
33
- # This is significantly more convenient but may not be appropriate for
34
- # all applications, so you must explicity opt-in to this behavior. You can
35
- # always also configure it on a per-model basis if you prefer.
36
- #
37
- # Something else to consider is that using the :finders addon boosts
38
- # performance because it will avoid Rails-internal code that makes runtime
39
- # calls to `Module.extend`.
40
- #
41
- # config.use :finders
42
- #
43
- # ## Slugs
44
- #
45
- # Most applications will use the :slugged module everywhere. If you wish
46
- # to do so, uncomment the following line.
47
- #
48
- # config.use :slugged
49
- #
50
- # By default, FriendlyId's :slugged addon expects the slug column to be named
51
- # 'slug', but you can change it if you wish.
52
- #
53
- # config.slug_column = 'slug'
54
- #
55
- # When FriendlyId can not generate a unique ID from your base method, it appends
56
- # a UUID, separated by a single dash. You can configure the character used as the
57
- # separator. If you're upgrading from FriendlyId 4, you may wish to replace this
58
- # with two dashes.
59
- #
60
- # config.sequence_separator = '-'
61
- #
62
- # Note that you must use the :slugged addon **prior** to the line which
63
- # configures the sequence separator, or else FriendlyId will raise an undefined
64
- # method error.
65
- #
66
- # ## Tips and Tricks
67
- #
68
- # ### Controlling when slugs are generated
69
- #
70
- # As of FriendlyId 5.0, new slugs are generated only when the slug field is
71
- # nil, but if you're using a column as your base method can change this
72
- # behavior by overriding the `should_generate_new_friendly_id?` method that
73
- # FriendlyId adds to your model. The change below makes FriendlyId 5.0 behave
74
- # more like 4.0.
75
- #
76
- # config.use Module.new {
77
- # def should_generate_new_friendly_id?
78
- # slug.blank? || <your_column_name_here>_changed?
79
- # end
80
- # }
81
- #
82
- # FriendlyId uses Rails's `parameterize` method to generate slugs, but for
83
- # languages that don't use the Roman alphabet, that's not usually sufficient.
84
- # Here we use the Babosa library to transliterate Russian Cyrillic slugs to
85
- # ASCII. If you use this, don't forget to add "babosa" to your Gemfile.
86
- #
87
- # config.use Module.new {
88
- # def normalize_friendly_id(text)
89
- # text.to_slug.normalize! :transliterations => [:russian, :latin]
90
- # end
91
- # }
92
- end
1
+ # FriendlyId Global Configuration
2
+ #
3
+ # Use this to set up shared configuration options for your entire application.
4
+ # Any of the configuration options shown here can also be applied to single
5
+ # models by passing arguments to the `friendly_id` class method or defining
6
+ # methods in your model.
7
+ #
8
+ # To learn more, check out the guide:
9
+ #
10
+ # http://norman.github.io/friendly_id/file.Guide.html
11
+
12
+ FriendlyId.defaults do |config|
13
+ # ## Reserved Words
14
+ #
15
+ # Some words could conflict with Rails's routes when used as slugs, or are
16
+ # undesirable to allow as slugs. Edit this list as needed for your app.
17
+ config.use :reserved
18
+
19
+ config.reserved_words = %w(new edit index session login logout users admin
20
+ stylesheets assets javascripts images)
21
+
22
+ # ## Friendly Finders
23
+ #
24
+ # Uncomment this to use friendly finders in all models. By default, if
25
+ # you wish to find a record by its friendly id, you must do:
26
+ #
27
+ # MyModel.friendly.find('foo')
28
+ #
29
+ # If you uncomment this, you can do:
30
+ #
31
+ # MyModel.find('foo')
32
+ #
33
+ # This is significantly more convenient but may not be appropriate for
34
+ # all applications, so you must explicity opt-in to this behavior. You can
35
+ # always also configure it on a per-model basis if you prefer.
36
+ #
37
+ # Something else to consider is that using the :finders addon boosts
38
+ # performance because it will avoid Rails-internal code that makes runtime
39
+ # calls to `Module.extend`.
40
+ #
41
+ # config.use :finders
42
+ #
43
+ # ## Slugs
44
+ #
45
+ # Most applications will use the :slugged module everywhere. If you wish
46
+ # to do so, uncomment the following line.
47
+ #
48
+ # config.use :slugged
49
+ #
50
+ # By default, FriendlyId's :slugged addon expects the slug column to be named
51
+ # 'slug', but you can change it if you wish.
52
+ #
53
+ # config.slug_column = 'slug'
54
+ #
55
+ # When FriendlyId can not generate a unique ID from your base method, it appends
56
+ # a UUID, separated by a single dash. You can configure the character used as the
57
+ # separator. If you're upgrading from FriendlyId 4, you may wish to replace this
58
+ # with two dashes.
59
+ #
60
+ # config.sequence_separator = '-'
61
+ #
62
+ # Note that you must use the :slugged addon **prior** to the line which
63
+ # configures the sequence separator, or else FriendlyId will raise an undefined
64
+ # method error.
65
+ #
66
+ # ## Tips and Tricks
67
+ #
68
+ # ### Controlling when slugs are generated
69
+ #
70
+ # As of FriendlyId 5.0, new slugs are generated only when the slug field is
71
+ # nil, but if you're using a column as your base method can change this
72
+ # behavior by overriding the `should_generate_new_friendly_id?` method that
73
+ # FriendlyId adds to your model. The change below makes FriendlyId 5.0 behave
74
+ # more like 4.0.
75
+ #
76
+ # config.use Module.new {
77
+ # def should_generate_new_friendly_id?
78
+ # slug.blank? || <your_column_name_here>_changed?
79
+ # end
80
+ # }
81
+ #
82
+ # FriendlyId uses Rails's `parameterize` method to generate slugs, but for
83
+ # languages that don't use the Roman alphabet, that's not usually sufficient.
84
+ # Here we use the Babosa library to transliterate Russian Cyrillic slugs to
85
+ # ASCII. If you use this, don't forget to add "babosa" to your Gemfile.
86
+ #
87
+ # config.use Module.new {
88
+ # def normalize_friendly_id(text)
89
+ # text.to_slug.normalize! :transliterations => [:russian, :latin]
90
+ # end
91
+ # }
92
+ end
@@ -1,27 +1,27 @@
1
- Phcpress::Engine.routes.draw do
2
-
3
- # Frontend
4
- namespace :frontend do
5
- resources :articles
6
- end
7
-
8
- # API
9
- namespace :api do
10
- namespace :v1 do
11
- resources :posts, defaults: {format: 'json'}
12
- resources :categories, defaults: {format: 'json'}
13
- end
14
- end
15
-
16
- # Article Routes
17
- namespace :articles do
18
- resources :posts, class_name: 'Phcpress::Articles::Post'
19
- end
20
-
21
- # Module Routes
22
- namespace :modules do
23
- resources :connections, class_name: 'Phcpress::Modules::Connection'
24
- resources :categories, class_name: 'Phcpress::Modules::Category'
25
- end
26
-
27
- end
1
+ Phcpress::Engine.routes.draw do
2
+
3
+ # Frontend
4
+ namespace :frontend do
5
+ resources :articles
6
+ end
7
+
8
+ # API
9
+ namespace :api do
10
+ namespace :v1 do
11
+ resources :posts, defaults: {format: 'json'}
12
+ resources :categories, defaults: {format: 'json'}
13
+ end
14
+ end
15
+
16
+ # Article Routes
17
+ namespace :articles do
18
+ resources :posts, class_name: 'Phcpress::Articles::Post'
19
+ end
20
+
21
+ # Module Routes
22
+ namespace :modules do
23
+ resources :connections, class_name: 'Phcpress::Modules::Connection'
24
+ resources :categories, class_name: 'Phcpress::Modules::Category'
25
+ end
26
+
27
+ end
@@ -1,5 +1,5 @@
1
- toolbar:
2
- - styleselect | bold italic | undo redo | image | link
3
- plugins:
4
- - image
5
- - link
1
+ toolbar:
2
+ - styleselect | bold italic | undo redo | image | link
3
+ plugins:
4
+ - image
5
+ - link
@@ -1,18 +1,18 @@
1
- class CreatePhcpressModulesCategories < ActiveRecord::Migration[5.1]
2
- def change
3
-
4
- create_table :phcpress_modules_categories do |t|
5
-
6
- t.string :catname
7
-
8
- t.string :slug
9
-
10
- t.string :user_id
11
- t.string :user_name
12
-
13
- t.timestamps
14
-
15
- end
16
-
17
- end
18
- end
1
+ class CreatePhcpressModulesCategories < ActiveRecord::Migration[5.1]
2
+ def change
3
+
4
+ create_table :phcpress_modules_categories do |t|
5
+
6
+ t.string :catname
7
+
8
+ t.string :slug
9
+
10
+ t.string :user_id
11
+ t.string :user_name
12
+
13
+ t.timestamps
14
+
15
+ end
16
+
17
+ end
18
+ end