phcdevworks_press 4.8.0 → 6.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (23) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/phcdevworks_press/article/posts_controller.rb +1 -1
  3. data/app/models/phcdevworks_press/article/post.rb +2 -1
  4. data/app/views/layouts/phcdevworks_press/components/backend/sidebars/_side_menu.html.erb +75 -80
  5. data/app/views/phcdevworks_press/article/posts/_form.html.erb +8 -4
  6. data/config/routes.rb +1 -2
  7. data/db/migrate/20200702121306_remove_images_cols_from_phcdevworks_press.rb +7 -0
  8. data/db/migrate/20200707115652_create_phcdevworks_press_add_seo.rb +7 -0
  9. data/lib/phcdevworks_press/engine.rb +1 -0
  10. data/lib/phcdevworks_press/version.rb +1 -1
  11. metadata +32 -28
  12. data/app/assets/javascripts/phcdevworks_press/article/categories.coffee +0 -0
  13. data/app/assets/stylesheets/phcdevworks_press/article/categories.scss +0 -0
  14. data/app/controllers/phcdevworks_press/article/categories_controller.rb +0 -83
  15. data/app/helpers/phcdevworks_press/article/categories_helper.rb +0 -4
  16. data/app/models/phcdevworks_press/article/category.rb +0 -27
  17. data/app/models/phcdevworks_press/article_category_versions.rb +0 -5
  18. data/app/views/phcdevworks_press/article/categories/_form.html.erb +0 -22
  19. data/app/views/phcdevworks_press/article/categories/edit.html.erb +0 -49
  20. data/app/views/phcdevworks_press/article/categories/index.html.erb +0 -81
  21. data/app/views/phcdevworks_press/article/categories/new.html.erb +0 -50
  22. data/db/migrate/20170517064427_create_phcdevworks_press_category_versions.rb +0 -17
  23. data/db/migrate/20190805232733_create_phcdevworks_press_article_categories.rb +0 -15
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 37bb864082b1fa5177355a44341b9acb7fb77924e6d5eea346725dcde424db36
4
- data.tar.gz: 7ed190b59283b99669f760142e76eff6c49d2bf5410a4fbedab661d430436416
3
+ metadata.gz: 0eb45274799479459031d5695f8c87ac74436810aefe10c8671379f7486793e8
4
+ data.tar.gz: f1f21bf0dd61cffa2a2c71443b5257aa68a6f8c71a0fc95d007fe4d7bc95119f
5
5
  SHA512:
6
- metadata.gz: 203e08382a890f75ccf95369f33e6efcb7743afaeb7100f56c3313a71d3e607b2b14c3a1975d220f2e6cd2417ac457573d9fafc5557f8d490e789c64b0db2801
7
- data.tar.gz: 5ecf5f1414e43cb6e698ce03d52abdb2ab6ab760d88c08f5ced41069510dee1f6f38d2134734c3ffc312ab32ea1a9bb02c8a8ace3afafab32190954a10d0bf7a
6
+ metadata.gz: 64a01da52b3250a1b79686d3748a66dde68b61c58b3d0aa0c56b421c4687f967042c79e1742a72e385b1c96a2e910b3386e6ce0f9b8bd8e35a317d8248309d93
7
+ data.tar.gz: fdb41e6617637d23dfd8b7112b5dda9337d8c8c8a688340fcbfb4e6073a798565cc8e54e59325e36b0ad57423ca03468ea48828f98aca951bbc8d62ccd1dbb75
@@ -76,7 +76,7 @@ module PhcdevworksPress
76
76
 
77
77
  # Whitelist
78
78
  def article_post_params
79
- params.require(:article_post).permit(:post_title, :post_text, :post_status, :post_image, :remove_post_image, :slug, :org_id, :user_id, category_ids: [])
79
+ params.require(:article_post).permit(:post_title, :post_text, :post_status, :post_image, :remove_post_image, :slug, :optimization_id, :org_id, :user_id, category_ids: [])
80
80
  end
81
81
 
82
82
  end
@@ -11,8 +11,9 @@ module PhcdevworksPress
11
11
  has_one_attached :post_image
12
12
 
13
13
  # Relationships
14
- has_and_belongs_to_many :categories, class_name: "Article::Category", :join_table => "phcdevworks_press_categories_posts"
15
14
  belongs_to :user, class_name: "PhcdevworksAccounts::User"
15
+ has_and_belongs_to_many :categories, class_name: "PhcdevworksCoreModules::Post::Category", :join_table => "phcdevworks_press_categories_posts"
16
+ belongs_to :optimization, class_name: "PhcdevworksCoreModules::Marketing::Optimization", optional: true
16
17
 
17
18
  # Form Fields Validation
18
19
  validates :post_title,
@@ -38,33 +38,21 @@
38
38
  <!-- -PHC- Sidebar - Sidebar Navigation -->
39
39
  <ul class="nav">
40
40
 
41
- <% if defined?phcdevworks_members %>
42
- <!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks Members -->
43
- <li class="nav-header">Membership Manager</li>
44
- <li class="has-sub">
45
- <a href="javascript:;">
46
- <b class="caret"></b>
47
- <i class="fad fa-users"></i>
48
- <span>Member"s Data</span>
49
- </a>
50
- <ul class="sub-menu">
51
- <li class="<%= phc_menu_active_controller("phcdevworks_members/member/profiles") %>"><%= link_to("Profile Index", phcdevworks_members.member_profiles_path) %></li>
52
- <li class="<%= phc_menu_active_controller("phcdevworks_members/member/profiles#new") %>"><%= link_to("New Member Profile", phcdevworks_members.new_member_profile_path) %></li>
53
- </ul>
54
- </li>
55
- <li class="nav-header">Member"s Directory</li>
41
+ <% if defined?phcdevworks_press %>
42
+ <!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks Press -->
43
+ <li class="nav-header">Articles & Blogging</li>
56
44
  <li class="has-sub">
57
45
  <a href="javascript:;">
58
46
  <b class="caret"></b>
59
- <i class="fad fa-list-alt"></i>
60
- <span>Member"s Directory</span>
47
+ <i class="fad fa-newspaper"></i>
48
+ <span>Article Posts</span>
61
49
  </a>
62
50
  <ul class="sub-menu">
63
- <li class="<%= phc_menu_active_controller("phcdevworks_members/directory/categories") %>"><%= link_to("Directory Index", phcdevworks_members.directory_categories_path) %></li>
64
- <li class="<%= phc_menu_active_controller("phcdevworks_members/directory/categories#new") %>"><%= link_to("New Directory Listing", phcdevworks_members.new_directory_category_path) %></li>
51
+ <li class="<%= phc_menu_active_controller("phcdevworks_press/article/posts") %>"><%= link_to("Article Index", phcdevworks_press.article_posts_path) %></li>
52
+ <li class="<%= phc_menu_active_controller("phcdevworks_press/article/posts#new") %>"><%= link_to("New Aritcle", phcdevworks_press.new_article_post_path) %></li>
65
53
  </ul>
66
54
  </li>
67
- <!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks Members -->
55
+ <!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks Press -->
68
56
  <% end %>
69
57
 
70
58
  <% if defined?phcdevworks_portfolio %>
@@ -81,57 +69,104 @@
81
69
  <li class="<%= phc_menu_active_controller("phcdevworks_portfolio/project/posts#new") %>"><%= link_to("New Project", phcdevworks_portfolio.new_project_post_path) %></li>
82
70
  </ul>
83
71
  </li>
72
+ <li class="has-sub">
73
+ <a href="javascript:;">
74
+ <b class="caret"></b>
75
+ <i class="fad fa-folders"></i>
76
+ <span>Project Types</span>
77
+ </a>
78
+ <ul class="sub-menu">
79
+ <li class="<%= phc_menu_active_controller("phcdevworks_portfolio/project/posts") %>"><%= link_to("Project Type", phcdevworks_portfolio.project_types_path) %></li>
80
+ <li class="<%= phc_menu_active_controller("phcdevworks_portfolio/project/posts#new") %>"><%= link_to("New Types", phcdevworks_portfolio.new_project_type_path) %></li>
81
+ </ul>
82
+ </li>
83
+ <!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks Press -->
84
+ <% end %>
85
+
86
+ <% if defined?phcdevworks_tutorials %>
87
+ <!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks Tutorials -->
88
+ <li class="nav-header">Tutorial Posts</li>
89
+ <li class="has-sub">
90
+ <a href="javascript:;">
91
+ <b class="caret"></b>
92
+ <i class="fad fa-chalkboard-teacher"></i>
93
+ <span>Tutorial Posts</span>
94
+ </a>
95
+ <ul class="sub-menu">
96
+ <li class="<%= phc_menu_active_controller("phcdevworks_tutorials/tutorials/posts") %>"><%= link_to "Tutorial Index", phcdevworks_tutorials.tutorial_posts_path %></li>
97
+ <li class="<%= phc_menu_active_controller("phcdevworks_tutorials/tutorials/posts#new") %>"><%= link_to "New Tutorial", phcdevworks_tutorials.new_tutorial_post_path %></li>
98
+ </ul>
99
+ </li>
100
+ <li class="nav-header">Command Lists & Items</li>
101
+ <li class="has-sub">
102
+ <a href="javascript:;">
103
+ <b class="caret"></b>
104
+ <i class="fad fa-terminal"></i>
105
+ <span>Command Lists</span>
106
+ </a>
107
+ <ul class="sub-menu">
108
+ <li class="<%= phc_menu_active_controller("phcdevworks_tutorials/command/posts") %>"><%= link_to "List Index", phcdevworks_tutorials.command_posts_path %></li>
109
+ <li class="<%= phc_menu_active_controller("phcdevworks_tutorials/command/posts#new") %>"><%= link_to "New List", phcdevworks_tutorials.new_command_post_path %></li>
110
+ </ul>
111
+ </li>
112
+ <!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks Tutorials -->
113
+ <% end %>
114
+
115
+ <% if defined?phcdevworks_core_modules %>
116
+ <!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks Core Modules -->
117
+ <li class="nav-header">Core Modules</li>
84
118
  <li class="has-sub">
85
119
  <a href="javascript:;">
86
120
  <b class="caret"></b>
87
121
  <i class="fad fa-sitemap"></i>
88
- <span>Project Categories</span>
122
+ <span>Categories</span>
89
123
  </a>
90
124
  <ul class="sub-menu">
91
- <li class="<%= phc_menu_active_controller("phcdevworks_portfolio/project/posts") %>"><%= link_to("Project Category", phcdevworks_portfolio.project_categories_path) %></li>
92
- <li class="<%= phc_menu_active_controller("phcdevworks_portfolio/project/posts#new") %>"><%= link_to("New Category", phcdevworks_portfolio.new_project_category_path) %></li>
125
+ <li class="<%= phc_menu_active_controller("phcdevworks_core_modules/post/categories") %>"><%= link_to("Category Index", phcdevworks_core_modules.post_categories_path) %></li>
126
+ <li class="<%= phc_menu_active_controller("phcdevworks_core_modules/post/categories#new") %>"><%= link_to("New Category", phcdevworks_core_modules.new_post_category_path) %></li>
93
127
  </ul>
94
128
  </li>
95
129
  <li class="has-sub">
96
130
  <a href="javascript:;">
97
131
  <b class="caret"></b>
98
- <i class="fad fa-folders"></i>
99
- <span>Project Types</span>
132
+ <i class="fad fa-analytics"></i>
133
+ <span>Marketing</span>
100
134
  </a>
101
135
  <ul class="sub-menu">
102
- <li class="<%= phc_menu_active_controller("phcdevworks_portfolio/project/posts") %>"><%= link_to("Project Type", phcdevworks_portfolio.project_types_path) %></li>
103
- <li class="<%= phc_menu_active_controller("phcdevworks_portfolio/project/posts#new") %>"><%= link_to("New Types", phcdevworks_portfolio.new_project_type_path) %></li>
136
+ <li class="<%= phc_menu_active_controller("phcdevworks_core_modules/marketing/optimizations") %>"><%= link_to("SEO Data Index", phcdevworks_core_modules.marketing_optimizations_path) %></li>
137
+ <li class="<%= phc_menu_active_controller("phcdevworks_core_modules/marketing/optimizations#new") %>"><%= link_to("Add SEO Data", phcdevworks_core_modules.new_marketing_optimization_path) %></li>
104
138
  </ul>
105
139
  </li>
106
- <!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks Press -->
140
+ <!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks Core Modules -->
107
141
  <% end %>
108
142
 
109
- <% if defined?phcdevworks_press %>
110
- <!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks Press -->
111
- <li class="nav-header">Articles & Blogging</li>
143
+ <% if defined?phcdevworks_members %>
144
+ <!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks Members -->
145
+ <li class="nav-header">Membership Manager</li>
112
146
  <li class="has-sub">
113
147
  <a href="javascript:;">
114
148
  <b class="caret"></b>
115
- <i class="fad fa-newspaper"></i>
116
- <span>Article Posts</span>
149
+ <i class="fad fa-users"></i>
150
+ <span>Member"s Data</span>
117
151
  </a>
118
152
  <ul class="sub-menu">
119
- <li class="<%= phc_menu_active_controller("phcdevworks_press/article/posts") %>"><%= link_to("Article Index", phcdevworks_press.article_posts_path) %></li>
120
- <li class="<%= phc_menu_active_controller("phcdevworks_press/article/posts#new") %>"><%= link_to("New Aritcle", phcdevworks_press.new_article_post_path) %></li>
153
+ <li class="<%= phc_menu_active_controller("phcdevworks_members/member/profiles") %>"><%= link_to("Profile Index", phcdevworks_members.member_profiles_path) %></li>
154
+ <li class="<%= phc_menu_active_controller("phcdevworks_members/member/profiles#new") %>"><%= link_to("New Member Profile", phcdevworks_members.new_member_profile_path) %></li>
121
155
  </ul>
122
156
  </li>
157
+ <li class="nav-header">Member"s Directory</li>
123
158
  <li class="has-sub">
124
159
  <a href="javascript:;">
125
160
  <b class="caret"></b>
126
- <i class="fad fa-sitemap"></i>
127
- <span>Article Categories</span>
161
+ <i class="fad fa-list-alt"></i>
162
+ <span>Member"s Directory</span>
128
163
  </a>
129
164
  <ul class="sub-menu">
130
- <li class="<%= phc_menu_active_controller("phcdevworks_press/article/categories") %>"><%= link_to("Category Index", phcdevworks_press.article_categories_path) %></li>
131
- <li class="<%= phc_menu_active_controller("phcdevworks_press/article/categories#new") %>"><%= link_to("New Category", phcdevworks_press.new_article_category_path) %></li>
165
+ <li class="<%= phc_menu_active_controller("phcdevworks_members/modules/categories") %>"><%= link_to("Directory Index", phcdevworks_members.directory_categories_path) %></li>
166
+ <li class="<%= phc_menu_active_controller("phcdevworks_members/modules/categories#new") %>"><%= link_to("New Directory Listing", phcdevworks_members.new_directory_category_path) %></li>
132
167
  </ul>
133
168
  </li>
134
- <!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks Press -->
169
+ <!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks Members -->
135
170
  <% end %>
136
171
 
137
172
  <% if defined?phcdevworks_scripts %>
@@ -203,46 +238,6 @@
203
238
  <!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks RealEstate -->
204
239
  <% end %>
205
240
 
206
- <% if defined?phcdevworks_tutorials %>
207
- <!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks Tutorials -->
208
- <li class="nav-header">Tutorial Posts</li>
209
- <li class="has-sub">
210
- <a href="javascript:;">
211
- <b class="caret"></b>
212
- <i class="fad fa-chalkboard-teacher"></i>
213
- <span>Tutorial Posts</span>
214
- </a>
215
- <ul class="sub-menu">
216
- <li class="<%= phc_menu_active_controller("phcdevworks_tutorials/tutorials/posts") %>"><%= link_to "Tutorial Index", phcdevworks_tutorials.tutorial_posts_path %></li>
217
- <li class="<%= phc_menu_active_controller("phcdevworks_tutorials/tutorials/posts#new") %>"><%= link_to "New Tutorial", phcdevworks_tutorials.new_tutorial_post_path %></li>
218
- </ul>
219
- </li>
220
- <li class="has-sub">
221
- <a href="javascript:;">
222
- <b class="caret"></b>
223
- <i class="fad fa-sitemap"></i>
224
- <span>Tutorial Categories</span>
225
- </a>
226
- <ul class="sub-menu">
227
- <li class="<%= phc_menu_active_controller("phcdevworks_tutorials/tutorials/categories") %>"><%= link_to "Category Index", phcdevworks_tutorials.tutorial_categories_path %></li>
228
- <li class="<%= phc_menu_active_controller("phcdevworks_tutorials/tutorials/categories#new") %>"><%= link_to "New Category", phcdevworks_tutorials.new_tutorial_category_path %></li>
229
- </ul>
230
- </li>
231
- <li class="nav-header">Command Lists & Items</li>
232
- <li class="has-sub">
233
- <a href="javascript:;">
234
- <b class="caret"></b>
235
- <i class="fad fa-terminal"></i>
236
- <span>Command Lists</span>
237
- </a>
238
- <ul class="sub-menu">
239
- <li class="<%= phc_menu_active_controller("phcdevworks_tutorials/command/posts") %>"><%= link_to "List Index", phcdevworks_tutorials.command_posts_path %></li>
240
- <li class="<%= phc_menu_active_controller("phcdevworks_tutorials/command/posts#new") %>"><%= link_to "New List", phcdevworks_tutorials.new_command_post_path %></li>
241
- </ul>
242
- </li>
243
- <!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks Tutorials -->
244
- <% end %>
245
-
246
241
  <% if current_user && current_user.admin? %>
247
242
  <!-- -PHC- Sidebar - Sidebar Navigation - PHCAccounts Admin Options -->
248
243
  <li class="nav-header">User Administration</li>
@@ -42,13 +42,17 @@
42
42
  <!-- Panel - Article - Categories -->
43
43
  <div class="panel panel-inverse">
44
44
  <div class="panel-heading">
45
- <h4 class="panel-title">Post Categories</h4>
45
+ <h4 class="panel-title">Post Categories & SEO</h4>
46
46
  </div>
47
47
  <div class="panel-body">
48
- <%= form.collection_check_boxes :category_ids, PhcdevworksPress::Article::Category.all, :id, :category_name do |post_category| %>
48
+ <%= form.collection_check_boxes :category_ids, PhcdevworksCoreModules::Post::Category.all, :id, :category_name do |post_category| %>
49
49
  <%= post_category.check_box %>
50
50
  <%= post_category.label %><br>
51
51
  <% end %>
52
+ <div class="form-group">
53
+ <label>Attach SEO Data</label>
54
+ <%= collection_select(:article_post, :optimization_id, PhcdevworksCoreModules::Marketing::Optimization.order("seo_title"), :id, :seo_title, {}, {class: "form-control"}) %>
55
+ </div>
52
56
  </div>
53
57
  </div>
54
58
  <!-- Panel - Article - Categories -->
@@ -74,8 +78,8 @@
74
78
  <%= form.label :post_title, "Article Title" %>
75
79
  <%= form.text_field :post_title, class: "form-control" %>
76
80
  </div>
77
- <div class="form-group field_with_errors">
78
- <%= form.text_area :post_text, class: "form-control", class: "editor" %>
81
+ <div class="form-group ">
82
+ <%= form.text_area :post_text, class: "form-control editor" %>
79
83
  <div id="word-count" class="mt-3"></div>
80
84
  </div>
81
85
  </div>
@@ -2,7 +2,6 @@ PhcdevworksPress::Engine.routes.draw do
2
2
 
3
3
  # Article Routes
4
4
  namespace :article do
5
- resources :categories, class_name: 'Articles::Category'
6
5
  resources :posts, class_name: 'Articles::Post'
7
6
  end
8
7
 
@@ -15,11 +14,11 @@ PhcdevworksPress::Engine.routes.draw do
15
14
  namespace :api, :path => "", :constraints => {:subdomain => "api"} do
16
15
  namespace :v1 do
17
16
  resources :posts, defaults: {format: 'json'}
18
- resources :categories, defaults: {format: 'json'}
19
17
  end
20
18
  end
21
19
 
22
20
  # Mount Routes
23
21
  mount PhcdevworksAccounts::Engine, :at => '/'
22
+ mount PhcdevworksCoreModules::Engine, :at => '/'
24
23
 
25
24
  end
@@ -0,0 +1,7 @@
1
+ class RemoveImagesColsFromPhcdevworksPress < ActiveRecord::Migration[6.0]
2
+ def change
3
+
4
+ remove_column :phcdevworks_press_article_posts, :post_image, :string
5
+
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ class CreatePhcdevworksPressAddSeo < ActiveRecord::Migration[6.0]
2
+ def change
3
+
4
+ add_column :phcdevworks_press_article_posts, :optimization_id, :string
5
+
6
+ end
7
+ end
@@ -28,6 +28,7 @@ module PhcdevworksPress
28
28
 
29
29
  # Load User Accounts
30
30
  require "phcdevworks_accounts"
31
+ require "phcdevworks_core_modules"
31
32
 
32
33
  # Engine Namespace
33
34
  isolate_namespace PhcdevworksPress
@@ -1,3 +1,3 @@
1
1
  module PhcdevworksPress
2
- VERSION = "4.8.0"
2
+ VERSION = "6.0.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: phcdevworks_press
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.8.0
4
+ version: 6.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - PHCDevworks
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-25 00:00:00.000000000 Z
11
+ date: 2020-07-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -64,84 +64,98 @@ dependencies:
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: '1.9'
67
+ version: '1.10'
68
68
  type: :runtime
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: '1.9'
74
+ version: '1.10'
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: phcthemes_web_theme_pack
77
77
  requirement: !ruby/object:Gem::Requirement
78
78
  requirements:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: '1.9'
81
+ version: '1.10'
82
82
  type: :runtime
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - "~>"
87
87
  - !ruby/object:Gem::Version
88
- version: '1.9'
88
+ version: '1.10'
89
89
  - !ruby/object:Gem::Dependency
90
90
  name: phcdevworks_active_menus
91
91
  requirement: !ruby/object:Gem::Requirement
92
92
  requirements:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
- version: '1.4'
95
+ version: '1.5'
96
96
  type: :runtime
97
97
  prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - "~>"
101
101
  - !ruby/object:Gem::Version
102
- version: '1.4'
102
+ version: '1.5'
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: phcdevworks_core
105
105
  requirement: !ruby/object:Gem::Requirement
106
106
  requirements:
107
107
  - - "~>"
108
108
  - !ruby/object:Gem::Version
109
- version: '1.4'
109
+ version: '1.5'
110
110
  type: :runtime
111
111
  prerelease: false
112
112
  version_requirements: !ruby/object:Gem::Requirement
113
113
  requirements:
114
114
  - - "~>"
115
115
  - !ruby/object:Gem::Version
116
- version: '1.4'
116
+ version: '1.5'
117
+ - !ruby/object:Gem::Dependency
118
+ name: phcdevworks_core_modules
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '3.0'
124
+ type: :runtime
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: '3.0'
117
131
  - !ruby/object:Gem::Dependency
118
132
  name: phcdevworks_notifications
119
133
  requirement: !ruby/object:Gem::Requirement
120
134
  requirements:
121
135
  - - "~>"
122
136
  - !ruby/object:Gem::Version
123
- version: '1.4'
137
+ version: '1.5'
124
138
  type: :runtime
125
139
  prerelease: false
126
140
  version_requirements: !ruby/object:Gem::Requirement
127
141
  requirements:
128
142
  - - "~>"
129
143
  - !ruby/object:Gem::Version
130
- version: '1.4'
144
+ version: '1.5'
131
145
  - !ruby/object:Gem::Dependency
132
146
  name: phcdevworks_titleseo
133
147
  requirement: !ruby/object:Gem::Requirement
134
148
  requirements:
135
149
  - - "~>"
136
150
  - !ruby/object:Gem::Version
137
- version: '2.3'
151
+ version: '2.4'
138
152
  type: :runtime
139
153
  prerelease: false
140
154
  version_requirements: !ruby/object:Gem::Requirement
141
155
  requirements:
142
156
  - - "~>"
143
157
  - !ruby/object:Gem::Version
144
- version: '2.3'
158
+ version: '2.4'
145
159
  - !ruby/object:Gem::Dependency
146
160
  name: wicked
147
161
  requirement: !ruby/object:Gem::Requirement
@@ -232,14 +246,14 @@ dependencies:
232
246
  requirements:
233
247
  - - "~>"
234
248
  - !ruby/object:Gem::Version
235
- version: '1.10'
249
+ version: '1.13'
236
250
  type: :runtime
237
251
  prerelease: false
238
252
  version_requirements: !ruby/object:Gem::Requirement
239
253
  requirements:
240
254
  - - "~>"
241
255
  - !ruby/object:Gem::Version
242
- version: '1.10'
256
+ version: '1.13'
243
257
  - !ruby/object:Gem::Dependency
244
258
  name: sqlite3
245
259
  requirement: !ruby/object:Gem::Requirement
@@ -267,38 +281,28 @@ files:
267
281
  - Rakefile
268
282
  - app/assets/config/phcdevworks_press_manifest.js
269
283
  - app/assets/javascripts/phcdevworks_press/application.js
270
- - app/assets/javascripts/phcdevworks_press/article/categories.coffee
271
284
  - app/assets/javascripts/phcdevworks_press/article/posts.coffee
272
285
  - app/assets/javascripts/phcdevworks_press/blog/articles.coffee
273
286
  - app/assets/stylesheets/phcdevworks_press/application.scss
274
- - app/assets/stylesheets/phcdevworks_press/article/categories.scss
275
287
  - app/assets/stylesheets/phcdevworks_press/article/posts.scss
276
288
  - app/assets/stylesheets/phcdevworks_press/blog/articles.scss
277
289
  - app/controllers/phcdevworks_press/application_controller.rb
278
- - app/controllers/phcdevworks_press/article/categories_controller.rb
279
290
  - app/controllers/phcdevworks_press/article/posts_controller.rb
280
291
  - app/controllers/phcdevworks_press/blog/articles_controller.rb
281
292
  - app/helpers/phcdevworks_press/application_helper.rb
282
- - app/helpers/phcdevworks_press/article/categories_helper.rb
283
293
  - app/helpers/phcdevworks_press/article/posts_helper.rb
284
294
  - app/helpers/phcdevworks_press/blog/articles_helper.rb
285
295
  - app/jobs/phcdevworks_press/application_job.rb
286
296
  - app/mailers/phcdevworks_press/application_mailer.rb
287
297
  - app/models/phcdevworks_press/application_record.rb
288
298
  - app/models/phcdevworks_press/article.rb
289
- - app/models/phcdevworks_press/article/category.rb
290
299
  - app/models/phcdevworks_press/article/post.rb
291
- - app/models/phcdevworks_press/article_category_versions.rb
292
300
  - app/models/phcdevworks_press/article_post_versions.rb
293
301
  - app/views/layouts/phcdevworks_press/application.html.erb
294
302
  - app/views/layouts/phcdevworks_press/components/backend/footer/_footer.html.erb
295
303
  - app/views/layouts/phcdevworks_press/components/backend/navigation/_top_menu.html.erb
296
304
  - app/views/layouts/phcdevworks_press/components/backend/sidebars/_side_menu.html.erb
297
305
  - app/views/layouts/phcdevworks_press/frontend.html.erb
298
- - app/views/phcdevworks_press/article/categories/_form.html.erb
299
- - app/views/phcdevworks_press/article/categories/edit.html.erb
300
- - app/views/phcdevworks_press/article/categories/index.html.erb
301
- - app/views/phcdevworks_press/article/categories/new.html.erb
302
306
  - app/views/phcdevworks_press/article/posts/_form.html.erb
303
307
  - app/views/phcdevworks_press/article/posts/edit.html.erb
304
308
  - app/views/phcdevworks_press/article/posts/index.html.erb
@@ -307,10 +311,10 @@ files:
307
311
  - app/views/phcdevworks_press/blog/articles/show.html.erb
308
312
  - config/routes.rb
309
313
  - db/migrate/20170517064030_create_phcdevworks_press_post_versions.rb
310
- - db/migrate/20170517064427_create_phcdevworks_press_category_versions.rb
311
314
  - db/migrate/20190805232522_create_phcdevworks_press_article_posts.rb
312
- - db/migrate/20190805232733_create_phcdevworks_press_article_categories.rb
313
315
  - db/migrate/20191024232406_create_phcdevworks_press_categories_posts.rb
316
+ - db/migrate/20200702121306_remove_images_cols_from_phcdevworks_press.rb
317
+ - db/migrate/20200707115652_create_phcdevworks_press_add_seo.rb
314
318
  - lib/phcdevworks_press.rb
315
319
  - lib/phcdevworks_press/engine.rb
316
320
  - lib/phcdevworks_press/version.rb
@@ -1,83 +0,0 @@
1
- require_dependency "phcdevworks_press/application_controller"
2
-
3
- module PhcdevworksPress
4
- class Article::CategoriesController < ApplicationController
5
-
6
- # Filters & Security
7
- #include PhcdevworksCore::PhcpluginsHelper
8
- before_action :authenticate_user!
9
- before_action :set_paper_trail_whodunnit
10
- before_action :set_article_category, only: [:show, :edit, :update, :destroy]
11
-
12
- # GET /article/categories
13
- def index
14
- @article_categories = Article::Category.all
15
- end
16
-
17
- # GET /article/categories/1
18
- def show
19
- @article_category = Article::Category.friendly.find(params[:id])
20
- @versions = PhcdevworksPress::ArticleCategoryVersions.where(item_id: params[:id], item_type: 'PhcdevworksPress::Article::Category')
21
- end
22
-
23
- # GET /article/categories/new
24
- def new
25
- @article_category = Article::Category.new
26
- end
27
-
28
- # GET /article/categories/1/edit
29
- def edit
30
- end
31
-
32
- # POST /article/categories
33
- def create
34
- @article_category = Article::Category.new(article_category_params)
35
- @article_category.user_id = current_user.id
36
- @article_category.org_id = current_user.org_id
37
- respond_to do |format|
38
- if @article_category.save
39
- format.html { redirect_to article_categories_path, :flash => { :success => 'Article Category has been Added.' }}
40
- format.json { render :show, status: :created, location: @article_category }
41
- else
42
- format.html { render :new }
43
- format.json { render json: @article_category.errors, status: :unprocessable_entity }
44
- end
45
- end
46
- end
47
-
48
- # PATCH/PUT /article/categories/1
49
- def update
50
- respond_to do |format|
51
- if @article_category.update(article_category_params)
52
- format.html { redirect_to article_categories_path, :flash => { :notice => 'Article Category Name has been Updated.' }}
53
- format.json { render :show, status: :ok, location: @article_category }
54
- else
55
- format.html { render :edit }
56
- format.json { render json: @article_category.errors, status: :unprocessable_entity }
57
- end
58
- end
59
- end
60
-
61
- # DELETE /article/categories/1
62
- def destroy
63
- @article_category.destroy
64
- respond_to do |format|
65
- format.html { redirect_to article_categories_path, :flash => { :error => 'Category and Article Connections have all been Removed.' }}
66
- format.json { head :no_content }
67
- end
68
- end
69
-
70
- private
71
-
72
- # Common Callbacks
73
- def set_article_category
74
- @article_category = Article::Category.friendly.find(params[:id])
75
- end
76
-
77
- # Whitelist
78
- def article_category_params
79
- params.require(:article_category).permit(:category_name, :slug, :org_id, :user_id)
80
- end
81
-
82
- end
83
- end
@@ -1,4 +0,0 @@
1
- module PhcdevworksPress
2
- module Article::CategoriesHelper
3
- end
4
- end
@@ -1,27 +0,0 @@
1
- module PhcdevworksPress
2
- class Article::Category < ApplicationRecord
3
-
4
- # Clean URL Initialize
5
- extend FriendlyId
6
-
7
- # Paper Trail Initialize
8
- has_paper_trail :class_name => "PhcdevworksPress::ArticleCategoryVersions"
9
-
10
- # Relationships
11
- has_and_belongs_to_many :posts, class_name: "Article::Post", :join_table => "phcdevworks_press_categories_posts", :dependent => :destroy
12
- belongs_to :user, class_name: "PhcdevworksAccounts::User"
13
-
14
- # Form Fields Validation
15
- validates :category_name,
16
- presence: true,
17
- uniqueness: true
18
-
19
- # Clean URL Define
20
- friendly_id :phcdev_article_category_nice_urls, use: [:slugged, :finders]
21
-
22
- def phcdev_article_category_nice_urls
23
- [:category_name]
24
- end
25
-
26
- end
27
- end
@@ -1,5 +0,0 @@
1
- module PhcdevworksPress
2
- class ArticleCategoryVersions < PaperTrail::Version
3
- self.table_name = :phcdevworks_press_category_versions
4
- end
5
- end
@@ -1,22 +0,0 @@
1
- <!-- Form - Article - Category -->
2
- <%= form_with(model: article_category, local: true) do |form| %>
3
-
4
- <!-- PHCNotifi Render Validation -->
5
- <%= render "phcdevworks_notifications/bootstrap/validations", :object => @article_category %>
6
- <!-- PHCNotifi Render Validation -->
7
-
8
- <!-- Form Input Fields -->
9
- <div class="form-group field_with_errors">
10
- <%= form.label :category_name, "Category Name" %>
11
- <%= form.text_field :category_name, class: "form-control" %>
12
- </div>
13
- <!-- Form Input Fields -->
14
-
15
- <!-- Form Submition Button -->
16
- <div class="actions">
17
- <%= form.submit class: "btn btn-primary" %>
18
- </div>
19
- <!-- For Submition Button -->
20
-
21
- <% end %>
22
- <!-- Form - Article - Category -->
@@ -1,49 +0,0 @@
1
- <!-- PHCTitleSEO Title Variables -->
2
- <% phc_title "Article Category Manager" %>
3
- <% phc_title_tagline "Update Category Data" %>
4
- <% phc_breadcrumb_one yield(:phc_title) %>
5
- <% phc_breadcrumb_two link_to "Category Index", phcdevworks_press.article_categories_path %>
6
- <% phc_breadcrumb_three yield(:phc_title_tagline) %>
7
- <!-- PHCTitleSEO Title Variables -->
8
-
9
- <!-- Page Bradcrumbs -->
10
- <ol class="breadcrumb pull-right">
11
- <li class="breadcrumb-item"><%= yield(:phc_breadcrumb_one) %></li>
12
- <li class="breadcrumb-item"><%= yield(:phc_breadcrumb_two) %></li>
13
- <li class="breadcrumb-item active"><%= yield(:phc_breadcrumb_three) %></li>
14
- </ol>
15
- <!-- Page Bradcrumbs -->
16
-
17
- <!-- Page Header -->
18
- <h2 class="page-header"><%= yield(:phc_title) %></h2>
19
- <!-- Page Header -->
20
-
21
- <!-- Page Content -->
22
- <div class="row">
23
- <div class="col-lg-12">
24
-
25
- <!-- Panel -->
26
- <div class="panel panel-inverse">
27
-
28
- <!-- Panel - Heading -->
29
- <div class="panel-heading">
30
- <h4 class="panel-title"><%= yield(:phc_title) %></h4>
31
- </div>
32
- <!-- Panel - Heading -->
33
-
34
- <!-- Panel - Body -->
35
- <div class="panel-body">
36
-
37
- <!-- Edit Form -->
38
- <%= render "form", article_category: @article_category %>
39
- <!-- Edit Form -->
40
-
41
- </div>
42
- <!-- Panel - Body -->
43
-
44
- </div>
45
- <!-- Panel -->
46
-
47
- </div>
48
- </div>
49
- <!-- Page Content -->
@@ -1,81 +0,0 @@
1
- <!-- PHCTitleSEO Title Variables -->
2
- <% phc_title "Article Category Manager" %>
3
- <% phc_title_tagline "Category Index" %>
4
- <% phc_breadcrumb_one yield(:phc_title) %>
5
- <% phc_breadcrumb_two link_to "Category Index", phcdevworks_press.article_categories_path %>
6
- <% phc_breadcrumb_three yield(:phc_title_tagline) %>
7
- <!-- PHCTitleSEO Title Variables -->
8
-
9
- <!-- Page Bradcrumbs -->
10
- <ol class="breadcrumb pull-right">
11
- <li class="breadcrumb-item"><%= yield(:phc_breadcrumb_one) %></li>
12
- <li class="breadcrumb-item"><%= yield(:phc_breadcrumb_two) %></li>
13
- <li class="breadcrumb-item active"><%= yield(:phc_breadcrumb_three) %></li>
14
- </ol>
15
- <!-- Page Bradcrumbs -->
16
-
17
- <!-- Page Header -->
18
- <h2 class="page-header"><%= yield(:phc_title) %></h2>
19
- <!-- Page Header -->
20
-
21
- <!-- Page Content -->
22
- <div class="row">
23
- <div class="col-lg-12">
24
-
25
- <!-- Panel -->
26
- <div class="panel panel-inverse">
27
-
28
- <!-- Panel - Heading -->
29
- <div class="panel-heading">
30
- <h4 class="panel-title"><%= yield(:phc_title) %></h4>
31
- </div>
32
- <!-- Panel - Heading -->
33
-
34
- <!-- Panel - Body -->
35
- <div class="panel-body">
36
-
37
- <!-- Index - Table -->
38
- <div class="table-responsive">
39
- <table class="table table-striped table-bordered">
40
-
41
- <thead>
42
- <tr>
43
- <th>Category Name</th>
44
- <th></th>
45
- </tr>
46
- </thead>
47
-
48
- <tbody>
49
- <% @article_categories.each do |article_category| %>
50
- <tr>
51
- <td><%= link_to article_category.category_name, phcdevworks_press.edit_article_category_path(article_category) %></td>
52
- <td>
53
- <div class="btn-group d-flex" role="group">
54
- <%= link_to "Edit Category", edit_article_category_path(article_category), class: "btn btn-primary btn-xs" %>
55
- <%= link_to "Remove Category", article_category, class: "btn btn-danger btn-xs", method: :delete, data: { confirm: "Are you sure?" } %>
56
- </div>
57
- </td>
58
- </tr>
59
- <% end %>
60
- </tbody>
61
-
62
- </table>
63
- </div>
64
- <!-- Index - Table -->
65
-
66
- <!-- New Button -->
67
- <%= link_to phcdevworks_press.new_article_category_path, class: "btn btn-primary btn-sm" do %>
68
- <i class="fad fa-plus-circle"></i>
69
- <%= "Add a New Article Category" %>
70
- <% end %>
71
- <!-- New Button -->
72
-
73
- </div>
74
- <!-- Panel - Body -->
75
-
76
- </div>
77
- <!-- Panel -->
78
-
79
- </div>
80
- </div>
81
- <!-- Page Content -->
@@ -1,50 +0,0 @@
1
- <!-- PHCTitleSEO Title Variables -->
2
- <% phc_title "Article Category Manager" %>
3
- <% phc_title_tagline "Create a New Category" %>
4
- <% phc_breadcrumb_one yield(:phc_title) %>
5
- <% phc_breadcrumb_two link_to "Category Index", phcdevworks_press.article_categories_path %>
6
- <% phc_breadcrumb_three yield(:phc_title_tagline) %>
7
- <!-- PHCTitleSEO Title Variables -->
8
-
9
- <!-- Page Bradcrumbs -->
10
- <ol class="breadcrumb pull-right">
11
- <li class="breadcrumb-item"><%= yield(:phc_breadcrumb_one) %></li>
12
- <li class="breadcrumb-item"><%= yield(:phc_breadcrumb_two) %></li>
13
- <li class="breadcrumb-item active"><%= yield(:phc_breadcrumb_three) %></li>
14
- </ol>
15
- <!-- Page Bradcrumbs -->
16
-
17
- <!-- Page Header -->
18
- <h2 class="page-header"><%= yield(:phc_title) %></h2>
19
- <!-- Page Header -->
20
-
21
- <!-- Page Content -->
22
- <div class="row">
23
- <div class="col-lg-12">
24
-
25
- <!-- Panel -->
26
- <div class="panel panel-inverse">
27
-
28
- <!-- Panel - Heading -->
29
- <div class="panel-heading">
30
- <h4 class="panel-title"><%= yield(:phc_title) %></h4>
31
- </div>
32
- <!-- Panel - Heading -->
33
-
34
- <!-- Panel - Body -->
35
- <div class="panel-body">
36
-
37
- <!-- New Form -->
38
- <%= render "form", article_category: @article_category %>
39
- <!-- New Form -->
40
-
41
- </div>
42
- <!-- Panel - Body -->
43
-
44
- </div>
45
- <!-- Panel -->
46
-
47
- </div>
48
- </div>
49
- <!-- Page Content -->
50
-
@@ -1,17 +0,0 @@
1
- class CreatePhcdevworksPressCategoryVersions < ActiveRecord::Migration[6.0]
2
- TEXT_BYTES = 1_073_741_823
3
- def change
4
-
5
- create_table :phcdevworks_press_category_versions do |t|
6
- t.string :item_type, {:null=>false}
7
- t.integer :item_id, null: false
8
- t.string :event, null: false
9
- t.string :whodunnit
10
- t.text :object, limit: TEXT_BYTES
11
- t.datetime :created_at
12
- end
13
-
14
- add_index :phcdevworks_press_category_versions, %i(item_type item_id), :name => 'article_category_versions'
15
-
16
- end
17
- end
@@ -1,15 +0,0 @@
1
- class CreatePhcdevworksPressArticleCategories < ActiveRecord::Migration[6.0]
2
- def change
3
- create_table :phcdevworks_press_article_categories do |t|
4
-
5
- t.string :category_name
6
-
7
- t.string :slug
8
- t.string :user_id
9
- t.string :org_id
10
-
11
- t.timestamps
12
-
13
- end
14
- end
15
- end