phcdevworks_core_modules 6.2.1 → 7.1.0
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/README.md +0 -28
- data/Rakefile +5 -29
- data/app/assets/config/phcdevworks_core_modules_manifest.js +2 -1
- data/app/assets/javascripts/phcdevworks_core_modules/{marketing/optimizations.coffee → affiliate/links.coffee} +0 -0
- data/app/assets/stylesheets/phcdevworks_core_modules/affiliate/links.scss +3 -0
- data/app/assets/stylesheets/phcdevworks_core_modules/application.scss +0 -2
- data/app/controllers/phcdevworks_core_modules/affiliate/links_controller.rb +81 -0
- data/app/controllers/phcdevworks_core_modules/marketing/optimizations_controller.rb +1 -1
- data/app/helpers/phcdevworks_core_modules/affiliate/links_helper.rb +4 -0
- data/app/models/phcdevworks_core_modules/affiliate.rb +7 -0
- data/app/models/phcdevworks_core_modules/affiliate/link.rb +27 -0
- data/app/models/phcdevworks_core_modules/affiliate_link_versions.rb +5 -0
- data/app/models/phcdevworks_core_modules/marketing/optimization.rb +1 -7
- data/app/views/layouts/phcdevworks_core_modules/application.html.erb +14 -19
- data/app/views/layouts/phcdevworks_core_modules/components/backend/sidebars/_side_menu.html.erb +21 -4
- data/app/views/phcdevworks_core_modules/affiliate/links/_form.html.erb +27 -0
- data/app/views/phcdevworks_core_modules/affiliate/links/edit.html.erb +47 -0
- data/app/views/phcdevworks_core_modules/affiliate/links/index.html.erb +86 -0
- data/app/views/phcdevworks_core_modules/affiliate/links/new.html.erb +47 -0
- data/app/views/phcdevworks_core_modules/affiliate/links/show.html.erb +24 -0
- data/app/views/phcdevworks_core_modules/marketing/optimizations/index.html.erb +3 -3
- data/config/routes.rb +7 -2
- data/db/migrate/20210207051304_create_phcdevworks_core_modules_affiliate_link_versions.rb +18 -0
- data/db/migrate/20210208130113_create_phcdevworks_core_modules_affiliate_links.rb +18 -0
- data/lib/phcdevworks_core_modules.rb +2 -1
- data/lib/phcdevworks_core_modules/engine.rb +44 -34
- data/lib/phcdevworks_core_modules/version.rb +1 -1
- metadata +155 -34
- data/app/assets/javascripts/phcdevworks_core_modules/application.js +0 -2
- data/app/assets/javascripts/phcdevworks_core_modules/post/categories.coffee +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5fa62fdc3c286805bd143f1b97e1f3bd33ec47a0e6b2417f14f7f330a5a43a43
|
4
|
+
data.tar.gz: 7692cbdb6312e594376bd5a51bb0ed0f411fbcc5ab2b35cf04102ba1fcf5b582
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: feb2582ab3bfba9e1241a096265e974ad31774e4773178b5350585ba086f7e8fe6c1d199a9982aede68e1b9359a749278500a2f404a703ac7c7350d44249dfb2
|
7
|
+
data.tar.gz: c30c3b5a6ecadf348dc32cba0e2128b2ec769165408a768f630f15046607d424731b46a58572d872bc4f8b4d439df7ba9f22f4f69126f995f2efeef58f59f8c3
|
data/README.md
CHANGED
@@ -1,28 +0,0 @@
|
|
1
|
-
# PhcdevworksCoreModules
|
2
|
-
Short description and motivation.
|
3
|
-
|
4
|
-
## Usage
|
5
|
-
How to use my plugin.
|
6
|
-
|
7
|
-
## Installation
|
8
|
-
Add this line to your application's Gemfile:
|
9
|
-
|
10
|
-
```ruby
|
11
|
-
gem 'phcdevworks_core_modules'
|
12
|
-
```
|
13
|
-
|
14
|
-
And then execute:
|
15
|
-
```bash
|
16
|
-
$ bundle
|
17
|
-
```
|
18
|
-
|
19
|
-
Or install it yourself as:
|
20
|
-
```bash
|
21
|
-
$ gem install phcdevworks_core_modules
|
22
|
-
```
|
23
|
-
|
24
|
-
## Contributing
|
25
|
-
Contribution directions go here.
|
26
|
-
|
27
|
-
## License
|
28
|
-
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
data/Rakefile
CHANGED
@@ -1,32 +1,8 @@
|
|
1
|
-
|
2
|
-
require 'bundler/setup'
|
3
|
-
rescue LoadError
|
4
|
-
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
5
|
-
end
|
1
|
+
require "bundler/setup"
|
6
2
|
|
7
|
-
|
3
|
+
APP_RAKEFILE = File.expand_path("spec/test_app/Rakefile", __dir__)
|
4
|
+
load "rails/tasks/engine.rake"
|
8
5
|
|
9
|
-
|
10
|
-
rdoc.rdoc_dir = 'rdoc'
|
11
|
-
rdoc.title = 'PhcdevworksCoreModules'
|
12
|
-
rdoc.options << '--line-numbers'
|
13
|
-
rdoc.rdoc_files.include('README.md')
|
14
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
15
|
-
end
|
6
|
+
load "rails/tasks/statistics.rake"
|
16
7
|
|
17
|
-
|
18
|
-
load 'rails/tasks/engine.rake'
|
19
|
-
|
20
|
-
load 'rails/tasks/statistics.rake'
|
21
|
-
|
22
|
-
require 'bundler/gem_tasks'
|
23
|
-
|
24
|
-
require 'rake/testtask'
|
25
|
-
|
26
|
-
Rake::TestTask.new(:test) do |t|
|
27
|
-
t.libs << 'test'
|
28
|
-
t.pattern = 'test/**/*_test.rb'
|
29
|
-
t.verbose = false
|
30
|
-
end
|
31
|
-
|
32
|
-
task default: :test
|
8
|
+
require "bundler/gem_tasks"
|
File without changes
|
@@ -0,0 +1,81 @@
|
|
1
|
+
require_dependency "phcdevworks_core_modules/application_controller"
|
2
|
+
|
3
|
+
module PhcdevworksCoreModules
|
4
|
+
class Affiliate::LinksController < 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_affiliate_link, only: [:show, :edit, :update, :destroy]
|
11
|
+
|
12
|
+
# GET /affiliate/links
|
13
|
+
def index
|
14
|
+
@affiliate_links = Affiliate::Link.order('affiliate_link_name ASC')
|
15
|
+
end
|
16
|
+
|
17
|
+
# GET /affiliate/links/1
|
18
|
+
def show
|
19
|
+
end
|
20
|
+
|
21
|
+
# GET /affiliate/links/new
|
22
|
+
def new
|
23
|
+
@affiliate_link = Affiliate::Link.new
|
24
|
+
end
|
25
|
+
|
26
|
+
# GET /affiliate/links/1/edit
|
27
|
+
def edit
|
28
|
+
end
|
29
|
+
|
30
|
+
# POST /affiliate/links
|
31
|
+
def create
|
32
|
+
@affiliate_link = Affiliate::Link.new(affiliate_link_params)
|
33
|
+
@affiliate_link.user_id = current_user.id
|
34
|
+
@affiliate_link.org_id = current_user.org_id
|
35
|
+
respond_to do |format|
|
36
|
+
if @affiliate_link.save
|
37
|
+
format.html { redirect_to affiliate_links_path, :flash => { :success => 'Affilate Link has been Added.' }}
|
38
|
+
format.json { render :show, status: :created, location: @affiliate_link }
|
39
|
+
else
|
40
|
+
format.html { render :new }
|
41
|
+
format.json { render json: @affiliate_link.errors, status: :unprocessable_entity }
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
# PATCH/PUT /affiliate/links/1
|
47
|
+
def update
|
48
|
+
respond_to do |format|
|
49
|
+
if @affiliate_link.update(affiliate_link_params)
|
50
|
+
format.html { redirect_to affiliate_links_path, :flash => { :notice => 'Affiliate Link has been Updated.' }}
|
51
|
+
format.json { render :show, status: :ok, location: @affiliate_link }
|
52
|
+
else
|
53
|
+
format.html { render :edit }
|
54
|
+
format.json { render json: @affiliate_link.errors, status: :unprocessable_entity }
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
# DELETE /affiliate/links/1
|
60
|
+
def destroy
|
61
|
+
@affiliate_link.destroy
|
62
|
+
respond_to do |format|
|
63
|
+
format.html { redirect_to affiliate_links_path, :flash => { :error => 'Affiliate Link and Post Connections have all been Removed.' }}
|
64
|
+
format.json { head :no_content }
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
private
|
69
|
+
|
70
|
+
# Common Callbacks
|
71
|
+
def set_affiliate_link
|
72
|
+
@affiliate_link = Affiliate::Link.find(params[:id])
|
73
|
+
end
|
74
|
+
|
75
|
+
# Whitelist
|
76
|
+
def affiliate_link_params
|
77
|
+
params.require(:affiliate_link).permit(:affiliate_link_name, :affiliate_link_button_text, :affiliate_link_url, :affiliate_link_original_url, :slug, :user_id, :org_id)
|
78
|
+
end
|
79
|
+
|
80
|
+
end
|
81
|
+
end
|
@@ -47,7 +47,7 @@ module PhcdevworksCoreModules
|
|
47
47
|
def update
|
48
48
|
respond_to do |format|
|
49
49
|
if @marketing_optimization.update(marketing_optimization_params)
|
50
|
-
format.html { redirect_to marketing_optimizations_path, :flash => { :notice => '
|
50
|
+
format.html { redirect_to marketing_optimizations_path, :flash => { :notice => 'SEO Attributes has been Updated.' }}
|
51
51
|
format.json { render :show, status: :ok, location: @marketing_optimization }
|
52
52
|
else
|
53
53
|
format.html { render :edit }
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module PhcdevworksCoreModules
|
2
|
+
class Affiliate::Link < ApplicationRecord
|
3
|
+
|
4
|
+
# Clean URL Initialize
|
5
|
+
extend FriendlyId
|
6
|
+
|
7
|
+
# Paper Trail Initialize
|
8
|
+
has_paper_trail versions: {class_name: "PhcdevworksCoreModules::AffiliateLinkVersions"}
|
9
|
+
|
10
|
+
# Relationships for Local
|
11
|
+
belongs_to :user, class_name: "PhcdevworksAccounts::User"
|
12
|
+
|
13
|
+
if defined?phcdevworks_press
|
14
|
+
has_many :posts, class_name: "PhcdevworksPress::Article::Post"
|
15
|
+
has_many :posts, class_name: "PhcdevworksPress::Review::Post"
|
16
|
+
has_many :posts, class_name: "PhcdevworksPress::List::Post"
|
17
|
+
end
|
18
|
+
|
19
|
+
# Clean URL Define
|
20
|
+
friendly_id :affiliate_link_nice_urls, use: [:slugged, :finders]
|
21
|
+
|
22
|
+
def affiliate_link_nice_urls
|
23
|
+
[:affiliate_link_name]
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
end
|
@@ -9,7 +9,7 @@ module PhcdevworksCoreModules
|
|
9
9
|
has_one_attached :marketing_optimization_og_image
|
10
10
|
|
11
11
|
# Paper Trail Initialize
|
12
|
-
has_paper_trail :class_name
|
12
|
+
has_paper_trail versions: {class_name: "PhcdevworksCoreModules::MarketingOptimizationVersions"}
|
13
13
|
|
14
14
|
# Relationships for Local
|
15
15
|
belongs_to :user, class_name: "PhcdevworksAccounts::User"
|
@@ -43,12 +43,6 @@ module PhcdevworksCoreModules
|
|
43
43
|
validates :marketing_optimization_page_title,
|
44
44
|
presence: true
|
45
45
|
|
46
|
-
validates :marketing_optimization_og_title,
|
47
|
-
presence: true
|
48
|
-
|
49
|
-
validates :marketing_optimization_twitter_title,
|
50
|
-
presence: true
|
51
|
-
|
52
46
|
# Clean URL Define
|
53
47
|
friendly_id :marketing_optimization_nice_urls, use: [:slugged, :finders]
|
54
48
|
|
@@ -3,30 +3,29 @@
|
|
3
3
|
<head>
|
4
4
|
|
5
5
|
<!-- SEO System -->
|
6
|
-
<% phc_seo_title "PHCDevworks
|
7
|
-
<% phc_seo_description "
|
6
|
+
<% phc_seo_title "PHCDevworks Core Modules" %>
|
7
|
+
<% phc_seo_description "Ruby on Rails 6 core plugin for PHCDevworks plugins with common modules to handle functions universally handle common functions." %>
|
8
8
|
<!-- SEO System -->
|
9
|
-
|
9
|
+
|
10
10
|
<!-- SEO and Site Description -->
|
11
|
-
|
12
|
-
|
13
|
-
<meta name="
|
14
|
-
|
15
|
-
<link rel="canonical" href="http://phcdevworks.com">
|
11
|
+
<meta charset="utf-8">
|
12
|
+
<title><%= yield(:phc_seo_title) %></title>
|
13
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
14
|
+
<meta name="description" content="<%= yield(:phc_seo_description) %>">
|
16
15
|
<!-- SEO and Site Description -->
|
17
|
-
|
16
|
+
|
18
17
|
<!-- Rails Security Tags -->
|
19
18
|
<%= csrf_meta_tags %>
|
20
19
|
<%= csp_meta_tag %>
|
21
20
|
<!-- Rails Security Tags -->
|
22
|
-
|
21
|
+
|
23
22
|
<!-- CSS Styles -->
|
24
|
-
<%= stylesheet_link_tag "
|
23
|
+
<%= stylesheet_link_tag "phcthemes_admin_panel_pack_coloradmin", media: "all" %>
|
25
24
|
<!-- CSS Styles -->
|
26
|
-
|
27
|
-
<!--
|
28
|
-
|
29
|
-
<!--
|
25
|
+
|
26
|
+
<!-- JavaScript -->
|
27
|
+
<%= javascript_include_tag "phcthemes_admin_panel_pack_coloradmin" %>
|
28
|
+
<!-- JavaScript -->
|
30
29
|
|
31
30
|
</head>
|
32
31
|
<body>
|
@@ -63,10 +62,6 @@
|
|
63
62
|
</div>
|
64
63
|
<!-- Page Container -->
|
65
64
|
|
66
|
-
<!-- JavaScript -->
|
67
|
-
<%= javascript_include_tag "phcdevworks_core_modules/application", "data-turbolinks-track": "reload" %>
|
68
|
-
<!-- JavaScript -->
|
69
|
-
|
70
65
|
<!-- JavaScript CKEditor -->
|
71
66
|
<script>ClassicEditor
|
72
67
|
.create( document.querySelector( '.editor' ), {
|
data/app/views/layouts/phcdevworks_core_modules/components/backend/sidebars/_side_menu.html.erb
CHANGED
@@ -25,7 +25,7 @@
|
|
25
25
|
<% end %>
|
26
26
|
</li>
|
27
27
|
<li>
|
28
|
-
<%= link_to phcdevworks_accounts.destroy_user_session_path do %>
|
28
|
+
<%= link_to phcdevworks_accounts.destroy_user_session_path, method: :delete do %>
|
29
29
|
<i class="fad fa-sign-out-alt"></i> Logout
|
30
30
|
<% end %>
|
31
31
|
</li>
|
@@ -234,7 +234,7 @@
|
|
234
234
|
|
235
235
|
<% if defined?phcdevworks_core_modules %>
|
236
236
|
<!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks Core Modules -->
|
237
|
-
<li class="nav-header">
|
237
|
+
<li class="nav-header">Categories</li>
|
238
238
|
<li class="has-sub">
|
239
239
|
<a href="javascript:;">
|
240
240
|
<b class="caret"></b>
|
@@ -246,11 +246,28 @@
|
|
246
246
|
<li class="<%= phc_menu_active_controller("phcdevworks_core_modules/post/categories#new") %>"><%= link_to("New Category", phcdevworks_core_modules.new_post_category_path) %></li>
|
247
247
|
</ul>
|
248
248
|
</li>
|
249
|
+
<!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks Core Modules -->
|
250
|
+
<% end %>
|
251
|
+
|
252
|
+
<% if defined?phcdevworks_core_modules %>
|
253
|
+
<!-- -PHC- Sidebar - Sidebar Navigation - PHCDevworks Core Modules -->
|
254
|
+
<li class="nav-header">Marketing</li>
|
255
|
+
<li class="has-sub">
|
256
|
+
<a href="javascript:;">
|
257
|
+
<b class="caret"></b>
|
258
|
+
<i class="fad fa-link"></i>
|
259
|
+
<span>Affiliate Links</span>
|
260
|
+
</a>
|
261
|
+
<ul class="sub-menu">
|
262
|
+
<li class="<%= phc_menu_active_controller("phcdevworks_core_modules/affiliate/links") %>"><%= link_to("Affiliate Link Index", phcdevworks_core_modules.affiliate_links_path) %></li>
|
263
|
+
<li class="<%= phc_menu_active_controller("phcdevworks_core_modules/affiliate/links#new") %>"><%= link_to("New Affiliate Link", phcdevworks_core_modules.new_affiliate_link_path) %></li>
|
264
|
+
</ul>
|
265
|
+
</li>
|
249
266
|
<li class="has-sub">
|
250
267
|
<a href="javascript:;">
|
251
268
|
<b class="caret"></b>
|
252
269
|
<i class="fad fa-analytics"></i>
|
253
|
-
<span>
|
270
|
+
<span>Search Optimization</span>
|
254
271
|
</a>
|
255
272
|
<ul class="sub-menu">
|
256
273
|
<li class="<%= phc_menu_active_controller("phcdevworks_core_modules/marketing/optimizations") %>"><%= link_to("SEO Data Index", phcdevworks_core_modules.marketing_optimizations_path) %></li>
|
@@ -270,7 +287,7 @@
|
|
270
287
|
<span>Admin</span>
|
271
288
|
</a>
|
272
289
|
<ul class="sub-menu">
|
273
|
-
<li class="<%= phc_menu_active_controller("phcdevworks_accounts/admin/users") %>"><%= link_to "User List", phcdevworks_accounts.
|
290
|
+
<li class="<%= phc_menu_active_controller("phcdevworks_accounts/admin/users") %>"><%= link_to "User List", phcdevworks_accounts.admin_users_all_path %></li>
|
274
291
|
</ul>
|
275
292
|
</li>
|
276
293
|
<!-- -PHC- Sidebar - Sidebar Navigation - PHCAccounts Admin Options -->
|
@@ -0,0 +1,27 @@
|
|
1
|
+
<%= form_with(model: affiliate_link) do |form| %>
|
2
|
+
|
3
|
+
<div class="form-group">
|
4
|
+
<%= form.label :affiliate_link_name, "Link Name" %>
|
5
|
+
<%= form.text_field :affiliate_link_name, class: "form-control" %>
|
6
|
+
</div>
|
7
|
+
|
8
|
+
<div class="form-group">
|
9
|
+
<%= form.label :affiliate_link_button_text, "Button Text" %>
|
10
|
+
<%= form.text_field :affiliate_link_button_text, class: "form-control" %>
|
11
|
+
</div>
|
12
|
+
|
13
|
+
<div class="form-group">
|
14
|
+
<%= form.label :affiliate_link_url, "Affiliate Link" %>
|
15
|
+
<%= form.text_field :affiliate_link_url, class: "form-control" %>
|
16
|
+
</div>
|
17
|
+
|
18
|
+
<div class="form-group">
|
19
|
+
<%= form.label :affiliate_link_original_url, "Original URL" %>
|
20
|
+
<%= form.text_field :affiliate_link_original_url, class: "form-control" %>
|
21
|
+
</div>
|
22
|
+
|
23
|
+
<div class="actions">
|
24
|
+
<%= form.submit class: "btn btn-primary" %>
|
25
|
+
</div>
|
26
|
+
|
27
|
+
<% end %>
|
@@ -0,0 +1,47 @@
|
|
1
|
+
<!-- PHCTitleSEO Title Variables -->
|
2
|
+
<% phc_title "Affiliate Manager" %>
|
3
|
+
<% phc_title_tagline "Update Affiliate Link" %>
|
4
|
+
<% phc_breadcrumb_one yield(:phc_title_tagline) %>
|
5
|
+
<% phc_breadcrumb_two link_to "Affiliate Link Index", phcdevworks_core_modules.affiliate_links_path %>
|
6
|
+
<!-- PHCTitleSEO Title Variables -->
|
7
|
+
|
8
|
+
<!-- Page Bradcrumbs -->
|
9
|
+
<ol class="breadcrumb pull-right">
|
10
|
+
<li class="breadcrumb-item"><%= yield(:phc_breadcrumb_one) %></li>
|
11
|
+
<li class="breadcrumb-item active"><%= yield(:phc_breadcrumb_two) %></li>
|
12
|
+
</ol>
|
13
|
+
<!-- Page Bradcrumbs -->
|
14
|
+
|
15
|
+
<!-- Page Header -->
|
16
|
+
<h2 class="page-header"><%= yield(:phc_title) %></h2>
|
17
|
+
<!-- Page Header -->
|
18
|
+
|
19
|
+
<!-- Page Content -->
|
20
|
+
<div class="row">
|
21
|
+
<div class="col-lg-12">
|
22
|
+
|
23
|
+
<!-- Panel -->
|
24
|
+
<div class="panel panel-inverse">
|
25
|
+
|
26
|
+
<!-- Panel - Heading -->
|
27
|
+
<div class="panel-heading">
|
28
|
+
<h4 class="panel-title"><%= yield(:phc_title) %></h4>
|
29
|
+
</div>
|
30
|
+
<!-- Panel - Heading -->
|
31
|
+
|
32
|
+
<!-- Panel - Body -->
|
33
|
+
<div class="panel-body">
|
34
|
+
|
35
|
+
<!-- Edit Form -->
|
36
|
+
<%= render 'form', affiliate_link: @affiliate_link %>
|
37
|
+
<!-- Edit Form -->
|
38
|
+
|
39
|
+
</div>
|
40
|
+
<!-- Panel - Body -->
|
41
|
+
|
42
|
+
</div>
|
43
|
+
<!-- Panel -->
|
44
|
+
|
45
|
+
</div>
|
46
|
+
</div>
|
47
|
+
<!-- Page Content -->
|
@@ -0,0 +1,86 @@
|
|
1
|
+
<!-- PHCTitleSEO Title Variables -->
|
2
|
+
<% phc_title "Marketing Manager" %>
|
3
|
+
<% phc_title_tagline "Affiliate Links" %>
|
4
|
+
<% phc_breadcrumb_one yield(:phc_title_tagline) %>
|
5
|
+
<% phc_breadcrumb_two link_to "Affiliate Link Index", phcdevworks_core_modules.affiliate_links_path %>
|
6
|
+
<!-- PHCTitleSEO Title Variables -->
|
7
|
+
|
8
|
+
<!-- Page Bradcrumbs -->
|
9
|
+
<ol class="breadcrumb pull-right">
|
10
|
+
<li class="breadcrumb-item"><%= yield(:phc_breadcrumb_one) %></li>
|
11
|
+
<li class="breadcrumb-item active"><%= yield(:phc_breadcrumb_two) %></li>
|
12
|
+
</ol>
|
13
|
+
<!-- Page Bradcrumbs -->
|
14
|
+
|
15
|
+
<!-- Page Header -->
|
16
|
+
<h2 class="page-header"><%= yield(:phc_title) %></h2>
|
17
|
+
<!-- Page Header -->
|
18
|
+
|
19
|
+
<!-- Page Content -->
|
20
|
+
<div class="row">
|
21
|
+
<div class="col-lg-12">
|
22
|
+
|
23
|
+
<!-- Panel -->
|
24
|
+
<div class="panel panel-inverse">
|
25
|
+
|
26
|
+
<!-- Panel - Heading -->
|
27
|
+
<div class="panel-heading">
|
28
|
+
<h4 class="panel-title"><%= yield(:phc_title) %> - <%= yield(:phc_title_tagline) %></h4>
|
29
|
+
</div>
|
30
|
+
<!-- Panel - Heading -->
|
31
|
+
|
32
|
+
<!-- Panel - Body -->
|
33
|
+
<div class="panel-body">
|
34
|
+
|
35
|
+
<!-- Index - Table -->
|
36
|
+
<div class="table-responsive">
|
37
|
+
<table class="table table-striped table-bordered">
|
38
|
+
|
39
|
+
<thead>
|
40
|
+
<tr>
|
41
|
+
<th>Link Name</th>
|
42
|
+
<th>Button Text</th>
|
43
|
+
<th>Affiliate URL</th>
|
44
|
+
<th>Original URL</th>
|
45
|
+
<th></th>
|
46
|
+
</tr>
|
47
|
+
</thead>
|
48
|
+
|
49
|
+
<tbody>
|
50
|
+
<% @affiliate_links.each do |affiliate_link| %>
|
51
|
+
<tr>
|
52
|
+
<td><%= affiliate_link.affiliate_link_name %></td>
|
53
|
+
<td><%= affiliate_link.affiliate_link_button_text %></td>
|
54
|
+
<td><%= affiliate_link.affiliate_link_url %></td>
|
55
|
+
<td><%= affiliate_link.affiliate_link_original_url %></td>
|
56
|
+
<td>
|
57
|
+
<div class="btn-group d-flex" role="group">
|
58
|
+
<%= link_to "Link Details", affiliate_link, class: "btn btn-purple btn-xs" %>
|
59
|
+
<%= link_to "Update Link", edit_affiliate_link_path(affiliate_link), class: "btn btn-primary btn-xs" %>
|
60
|
+
<%= link_to "Remove", affiliate_link, method: :delete, data: { confirm: "Are you sure? This action cannot be reversed." }, class: "btn btn-danger btn-xs" %>
|
61
|
+
</div>
|
62
|
+
</td>
|
63
|
+
</tr>
|
64
|
+
<% end %>
|
65
|
+
</tbody>
|
66
|
+
|
67
|
+
</table>
|
68
|
+
</div>
|
69
|
+
<!-- Index - Table -->
|
70
|
+
|
71
|
+
<!-- New Button -->
|
72
|
+
<%= link_to phcdevworks_core_modules.new_affiliate_link_path, class: "btn btn-primary btn-sm" do %>
|
73
|
+
<i class="fad fa-plus-circle"></i>
|
74
|
+
Add a New Affiliate Link
|
75
|
+
<% end %>
|
76
|
+
<!-- New Button -->
|
77
|
+
|
78
|
+
</div>
|
79
|
+
<!-- Panel - Body -->
|
80
|
+
|
81
|
+
</div>
|
82
|
+
<!-- Panel -->
|
83
|
+
|
84
|
+
</div>
|
85
|
+
</div>
|
86
|
+
<!-- Page Content -->
|
@@ -0,0 +1,47 @@
|
|
1
|
+
<!-- PHCTitleSEO Title Variables -->
|
2
|
+
<% phc_title "Affiliate Manager" %>
|
3
|
+
<% phc_title_tagline "New Affiliate Link" %>
|
4
|
+
<% phc_breadcrumb_one yield(:phc_title_tagline) %>
|
5
|
+
<% phc_breadcrumb_two link_to "Affiliate Link Index", phcdevworks_core_modules.affiliate_links_path %>
|
6
|
+
<!-- PHCTitleSEO Title Variables -->
|
7
|
+
|
8
|
+
<!-- Page Bradcrumbs -->
|
9
|
+
<ol class="breadcrumb pull-right">
|
10
|
+
<li class="breadcrumb-item"><%= yield(:phc_breadcrumb_one) %></li>
|
11
|
+
<li class="breadcrumb-item active"><%= yield(:phc_breadcrumb_two) %></li>
|
12
|
+
</ol>
|
13
|
+
<!-- Page Bradcrumbs -->
|
14
|
+
|
15
|
+
<!-- Page Header -->
|
16
|
+
<h2 class="page-header"><%= yield(:phc_title) %></h2>
|
17
|
+
<!-- Page Header -->
|
18
|
+
|
19
|
+
<!-- Page Content -->
|
20
|
+
<div class="row">
|
21
|
+
<div class="col-lg-12">
|
22
|
+
|
23
|
+
<!-- Panel -->
|
24
|
+
<div class="panel panel-inverse">
|
25
|
+
|
26
|
+
<!-- Panel - Heading -->
|
27
|
+
<div class="panel-heading">
|
28
|
+
<h4 class="panel-title"><%= yield(:phc_title) %></h4>
|
29
|
+
</div>
|
30
|
+
<!-- Panel - Heading -->
|
31
|
+
|
32
|
+
<!-- Panel - Body -->
|
33
|
+
<div class="panel-body">
|
34
|
+
|
35
|
+
<!-- Edit Form -->
|
36
|
+
<%= render 'form', affiliate_link: @affiliate_link %>
|
37
|
+
<!-- Edit Form -->
|
38
|
+
|
39
|
+
</div>
|
40
|
+
<!-- Panel - Body -->
|
41
|
+
|
42
|
+
</div>
|
43
|
+
<!-- Panel -->
|
44
|
+
|
45
|
+
</div>
|
46
|
+
</div>
|
47
|
+
<!-- Page Content -->
|
@@ -0,0 +1,24 @@
|
|
1
|
+
<p id="notice"><%= notice %></p>
|
2
|
+
|
3
|
+
<p>
|
4
|
+
<strong>Affiliate link name:</strong>
|
5
|
+
<%= @affiliate_link.affiliate_link_name %>
|
6
|
+
</p>
|
7
|
+
|
8
|
+
<p>
|
9
|
+
<strong>Affiliate link button text:</strong>
|
10
|
+
<%= @affiliate_link.affiliate_link_button_text %>
|
11
|
+
</p>
|
12
|
+
|
13
|
+
<p>
|
14
|
+
<strong>Affiliate link url:</strong>
|
15
|
+
<%= @affiliate_link.affiliate_link_url %>
|
16
|
+
</p>
|
17
|
+
|
18
|
+
<p>
|
19
|
+
<strong>Affiliate link original url:</strong>
|
20
|
+
<%= @affiliate_link.affiliate_link_original_url %>
|
21
|
+
</p>
|
22
|
+
|
23
|
+
<%= link_to 'Edit', edit_affiliate_link_path(@affiliate_link) %> |
|
24
|
+
<%= link_to 'Back', affiliate_links_path %>
|
@@ -24,9 +24,9 @@
|
|
24
24
|
<div class="panel panel-inverse">
|
25
25
|
|
26
26
|
<!-- Panel - Heading -->
|
27
|
-
|
28
|
-
|
29
|
-
|
27
|
+
<div class="panel-heading">
|
28
|
+
<h4 class="panel-title"><%= yield(:phc_title) %> - <%= yield(:phc_title_tagline) %></h4>
|
29
|
+
</div>
|
30
30
|
<!-- Panel - Heading -->
|
31
31
|
|
32
32
|
<!-- Panel - Body -->
|
data/config/routes.rb
CHANGED
@@ -4,12 +4,17 @@ PhcdevworksCoreModules::Engine.routes.draw do
|
|
4
4
|
namespace :post do
|
5
5
|
resources :categories, class_name: 'Post::Category'
|
6
6
|
end
|
7
|
-
|
7
|
+
|
8
8
|
# Routes for Marketing
|
9
9
|
namespace :marketing do
|
10
10
|
resources :optimizations, class_name: 'Marketing::Optimization'
|
11
11
|
end
|
12
|
-
|
12
|
+
|
13
|
+
# Routes for Affiliate
|
14
|
+
namespace :affiliate do
|
15
|
+
resources :links, class_name: 'Affiliate::Link'
|
16
|
+
end
|
17
|
+
|
13
18
|
# Mount Routes
|
14
19
|
mount PhcdevworksAccounts::Engine, :at => '/'
|
15
20
|
|
@@ -0,0 +1,18 @@
|
|
1
|
+
class CreatePhcdevworksCoreModulesAffiliateLinkVersions < ActiveRecord::Migration[6.1]
|
2
|
+
TEXT_BYTES = 1_073_741_823
|
3
|
+
def change
|
4
|
+
create_table :phcdevworks_core_modules_affiliate_link_versions do |t|
|
5
|
+
|
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
|
+
|
13
|
+
end
|
14
|
+
|
15
|
+
add_index :phcdevworks_core_modules_affiliate_link_versions, %i(item_type item_id), :name => 'affiliate_link_versions'
|
16
|
+
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
class CreatePhcdevworksCoreModulesAffiliateLinks < ActiveRecord::Migration[6.1]
|
2
|
+
def change
|
3
|
+
create_table :phcdevworks_core_modules_affiliate_links do |t|
|
4
|
+
|
5
|
+
t.string :affiliate_link_name
|
6
|
+
t.string :affiliate_link_button_text
|
7
|
+
t.string :affiliate_link_url
|
8
|
+
t.string :affiliate_link_original_url
|
9
|
+
|
10
|
+
t.string :slug
|
11
|
+
t.string :user_id
|
12
|
+
t.string :org_id
|
13
|
+
|
14
|
+
t.timestamps
|
15
|
+
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -1,36 +1,46 @@
|
|
1
1
|
module PhcdevworksCoreModules
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
2
|
+
class Engine < ::Rails::Engine
|
3
|
+
|
4
|
+
# Load Main Dependencies
|
5
|
+
require "jbuilder"
|
6
|
+
require "paper_trail"
|
7
|
+
require "friendly_id"
|
8
|
+
|
9
|
+
# Load Theme Dependencies
|
10
|
+
require "phcthemes_admin_panel_pack"
|
11
|
+
require "phcthemes_web_theme_pack"
|
12
|
+
|
13
|
+
# Load Helper Dependencies
|
14
|
+
require "phcdevworks_core"
|
15
|
+
require "phcdevworks_active_menus"
|
16
|
+
require "phcdevworks_notifications"
|
17
|
+
require "phcdevworks_titleseo"
|
18
|
+
|
19
|
+
# Load Upload Dependencies
|
20
|
+
require "aws-sdk-s3"
|
21
|
+
require "google-cloud-storage"
|
22
|
+
require "mini_magick"
|
23
|
+
|
24
|
+
# Frontend Dependencies
|
25
|
+
require "wicked"
|
26
|
+
require "gravtastic"
|
27
|
+
require "friendly_id"
|
28
|
+
|
29
|
+
# Mailer Dependencies
|
30
|
+
require "mail_form"
|
31
|
+
|
32
|
+
# Load User Accounts
|
33
|
+
require "phcdevworks_accounts"
|
34
|
+
|
35
|
+
# Engine Namespace
|
36
|
+
isolate_namespace PhcdevworksCoreModules
|
37
|
+
|
38
|
+
# Rspec Generators
|
39
|
+
config.generators do |g|
|
40
|
+
g.test_framework :rspec
|
41
|
+
g.fixture_replacement :factory_bot
|
42
|
+
g.factory_bot dir: 'spec/factories'
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
36
46
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: phcdevworks_core_modules
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 7.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- PHCDevworks
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-02-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -16,132 +16,156 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '6.
|
19
|
+
version: '6.1'
|
20
20
|
- - ">="
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 6.
|
22
|
+
version: 6.1.1
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - "~>"
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: '6.
|
29
|
+
version: '6.1'
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: 6.
|
32
|
+
version: 6.1.1
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: jbuilder
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: '2.
|
39
|
+
version: '2.11'
|
40
40
|
type: :runtime
|
41
41
|
prerelease: false
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
44
|
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: '2.
|
46
|
+
version: '2.11'
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: paper_trail
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
51
|
- - "~>"
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: '11.
|
53
|
+
version: '11.1'
|
54
54
|
type: :runtime
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
57
|
requirements:
|
58
58
|
- - "~>"
|
59
59
|
- !ruby/object:Gem::Version
|
60
|
-
version: '11.
|
60
|
+
version: '11.1'
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
62
|
name: phcthemes_admin_panel_pack
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
64
64
|
requirements:
|
65
65
|
- - "~>"
|
66
66
|
- !ruby/object:Gem::Version
|
67
|
-
version: '
|
67
|
+
version: '4.0'
|
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: '
|
74
|
+
version: '4.0'
|
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: '
|
81
|
+
version: '4.0'
|
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: '
|
88
|
+
version: '4.0'
|
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: '2.
|
95
|
+
version: '2.2'
|
96
|
+
- - ">="
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: 2.2.1
|
96
99
|
type: :runtime
|
97
100
|
prerelease: false
|
98
101
|
version_requirements: !ruby/object:Gem::Requirement
|
99
102
|
requirements:
|
100
103
|
- - "~>"
|
101
104
|
- !ruby/object:Gem::Version
|
102
|
-
version: '2.
|
105
|
+
version: '2.2'
|
106
|
+
- - ">="
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: 2.2.1
|
103
109
|
- !ruby/object:Gem::Dependency
|
104
110
|
name: phcdevworks_core
|
105
111
|
requirement: !ruby/object:Gem::Requirement
|
106
112
|
requirements:
|
107
113
|
- - "~>"
|
108
114
|
- !ruby/object:Gem::Version
|
109
|
-
version: '2.
|
115
|
+
version: '2.2'
|
116
|
+
- - ">="
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: 2.2.1
|
110
119
|
type: :runtime
|
111
120
|
prerelease: false
|
112
121
|
version_requirements: !ruby/object:Gem::Requirement
|
113
122
|
requirements:
|
114
123
|
- - "~>"
|
115
124
|
- !ruby/object:Gem::Version
|
116
|
-
version: '2.
|
125
|
+
version: '2.2'
|
126
|
+
- - ">="
|
127
|
+
- !ruby/object:Gem::Version
|
128
|
+
version: 2.2.1
|
117
129
|
- !ruby/object:Gem::Dependency
|
118
130
|
name: phcdevworks_notifications
|
119
131
|
requirement: !ruby/object:Gem::Requirement
|
120
132
|
requirements:
|
121
133
|
- - "~>"
|
122
134
|
- !ruby/object:Gem::Version
|
123
|
-
version: '2.
|
135
|
+
version: '2.2'
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: 2.2.1
|
124
139
|
type: :runtime
|
125
140
|
prerelease: false
|
126
141
|
version_requirements: !ruby/object:Gem::Requirement
|
127
142
|
requirements:
|
128
143
|
- - "~>"
|
129
144
|
- !ruby/object:Gem::Version
|
130
|
-
version: '2.
|
145
|
+
version: '2.2'
|
146
|
+
- - ">="
|
147
|
+
- !ruby/object:Gem::Version
|
148
|
+
version: 2.2.1
|
131
149
|
- !ruby/object:Gem::Dependency
|
132
150
|
name: phcdevworks_titleseo
|
133
151
|
requirement: !ruby/object:Gem::Requirement
|
134
152
|
requirements:
|
135
153
|
- - "~>"
|
136
154
|
- !ruby/object:Gem::Version
|
137
|
-
version: '3.
|
155
|
+
version: '3.2'
|
156
|
+
- - ">="
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: 3.2.1
|
138
159
|
type: :runtime
|
139
160
|
prerelease: false
|
140
161
|
version_requirements: !ruby/object:Gem::Requirement
|
141
162
|
requirements:
|
142
163
|
- - "~>"
|
143
164
|
- !ruby/object:Gem::Version
|
144
|
-
version: '3.
|
165
|
+
version: '3.2'
|
166
|
+
- - ">="
|
167
|
+
- !ruby/object:Gem::Version
|
168
|
+
version: 3.2.1
|
145
169
|
- !ruby/object:Gem::Dependency
|
146
170
|
name: wicked
|
147
171
|
requirement: !ruby/object:Gem::Requirement
|
@@ -184,62 +208,144 @@ dependencies:
|
|
184
208
|
- - "~>"
|
185
209
|
- !ruby/object:Gem::Version
|
186
210
|
version: '3.2'
|
211
|
+
- !ruby/object:Gem::Dependency
|
212
|
+
name: mail_form
|
213
|
+
requirement: !ruby/object:Gem::Requirement
|
214
|
+
requirements:
|
215
|
+
- - "~>"
|
216
|
+
- !ruby/object:Gem::Version
|
217
|
+
version: '1.9'
|
218
|
+
type: :runtime
|
219
|
+
prerelease: false
|
220
|
+
version_requirements: !ruby/object:Gem::Requirement
|
221
|
+
requirements:
|
222
|
+
- - "~>"
|
223
|
+
- !ruby/object:Gem::Version
|
224
|
+
version: '1.9'
|
187
225
|
- !ruby/object:Gem::Dependency
|
188
226
|
name: aws-sdk-s3
|
189
227
|
requirement: !ruby/object:Gem::Requirement
|
190
228
|
requirements:
|
191
229
|
- - "~>"
|
192
230
|
- !ruby/object:Gem::Version
|
193
|
-
version: '1.
|
231
|
+
version: '1.88'
|
194
232
|
type: :runtime
|
195
233
|
prerelease: false
|
196
234
|
version_requirements: !ruby/object:Gem::Requirement
|
197
235
|
requirements:
|
198
236
|
- - "~>"
|
199
237
|
- !ruby/object:Gem::Version
|
200
|
-
version: '1.
|
238
|
+
version: '1.88'
|
201
239
|
- !ruby/object:Gem::Dependency
|
202
240
|
name: google-cloud-storage
|
203
241
|
requirement: !ruby/object:Gem::Requirement
|
204
242
|
requirements:
|
205
243
|
- - "~>"
|
206
244
|
- !ruby/object:Gem::Version
|
207
|
-
version: '1.
|
245
|
+
version: '1.30'
|
208
246
|
type: :runtime
|
209
247
|
prerelease: false
|
210
248
|
version_requirements: !ruby/object:Gem::Requirement
|
211
249
|
requirements:
|
212
250
|
- - "~>"
|
213
251
|
- !ruby/object:Gem::Version
|
214
|
-
version: '1.
|
252
|
+
version: '1.30'
|
215
253
|
- !ruby/object:Gem::Dependency
|
216
254
|
name: mini_magick
|
217
255
|
requirement: !ruby/object:Gem::Requirement
|
218
256
|
requirements:
|
219
257
|
- - "~>"
|
220
258
|
- !ruby/object:Gem::Version
|
221
|
-
version: '4.
|
259
|
+
version: '4.11'
|
222
260
|
type: :runtime
|
223
261
|
prerelease: false
|
224
262
|
version_requirements: !ruby/object:Gem::Requirement
|
225
263
|
requirements:
|
226
264
|
- - "~>"
|
227
265
|
- !ruby/object:Gem::Version
|
228
|
-
version: '4.
|
266
|
+
version: '4.11'
|
229
267
|
- !ruby/object:Gem::Dependency
|
230
268
|
name: phcdevworks_accounts
|
231
269
|
requirement: !ruby/object:Gem::Requirement
|
232
270
|
requirements:
|
233
271
|
- - "~>"
|
234
272
|
- !ruby/object:Gem::Version
|
235
|
-
version: '
|
273
|
+
version: '3.0'
|
274
|
+
- - ">="
|
275
|
+
- !ruby/object:Gem::Version
|
276
|
+
version: 3.0.1
|
236
277
|
type: :runtime
|
237
278
|
prerelease: false
|
238
279
|
version_requirements: !ruby/object:Gem::Requirement
|
239
280
|
requirements:
|
240
281
|
- - "~>"
|
241
282
|
- !ruby/object:Gem::Version
|
242
|
-
version: '
|
283
|
+
version: '3.0'
|
284
|
+
- - ">="
|
285
|
+
- !ruby/object:Gem::Version
|
286
|
+
version: 3.0.1
|
287
|
+
- !ruby/object:Gem::Dependency
|
288
|
+
name: factory_bot_rails
|
289
|
+
requirement: !ruby/object:Gem::Requirement
|
290
|
+
requirements:
|
291
|
+
- - "~>"
|
292
|
+
- !ruby/object:Gem::Version
|
293
|
+
version: '6.1'
|
294
|
+
type: :development
|
295
|
+
prerelease: false
|
296
|
+
version_requirements: !ruby/object:Gem::Requirement
|
297
|
+
requirements:
|
298
|
+
- - "~>"
|
299
|
+
- !ruby/object:Gem::Version
|
300
|
+
version: '6.1'
|
301
|
+
- !ruby/object:Gem::Dependency
|
302
|
+
name: rspec-rails
|
303
|
+
requirement: !ruby/object:Gem::Requirement
|
304
|
+
requirements:
|
305
|
+
- - "~>"
|
306
|
+
- !ruby/object:Gem::Version
|
307
|
+
version: '4.0'
|
308
|
+
type: :development
|
309
|
+
prerelease: false
|
310
|
+
version_requirements: !ruby/object:Gem::Requirement
|
311
|
+
requirements:
|
312
|
+
- - "~>"
|
313
|
+
- !ruby/object:Gem::Version
|
314
|
+
version: '4.0'
|
315
|
+
- !ruby/object:Gem::Dependency
|
316
|
+
name: spring
|
317
|
+
requirement: !ruby/object:Gem::Requirement
|
318
|
+
requirements:
|
319
|
+
- - "~>"
|
320
|
+
- !ruby/object:Gem::Version
|
321
|
+
version: '2.1'
|
322
|
+
- - ">="
|
323
|
+
- !ruby/object:Gem::Version
|
324
|
+
version: 2.1.1
|
325
|
+
type: :development
|
326
|
+
prerelease: false
|
327
|
+
version_requirements: !ruby/object:Gem::Requirement
|
328
|
+
requirements:
|
329
|
+
- - "~>"
|
330
|
+
- !ruby/object:Gem::Version
|
331
|
+
version: '2.1'
|
332
|
+
- - ">="
|
333
|
+
- !ruby/object:Gem::Version
|
334
|
+
version: 2.1.1
|
335
|
+
- !ruby/object:Gem::Dependency
|
336
|
+
name: spring-commands-rspec
|
337
|
+
requirement: !ruby/object:Gem::Requirement
|
338
|
+
requirements:
|
339
|
+
- - "~>"
|
340
|
+
- !ruby/object:Gem::Version
|
341
|
+
version: '1.0'
|
342
|
+
type: :development
|
343
|
+
prerelease: false
|
344
|
+
version_requirements: !ruby/object:Gem::Requirement
|
345
|
+
requirements:
|
346
|
+
- - "~>"
|
347
|
+
- !ruby/object:Gem::Version
|
348
|
+
version: '1.0'
|
243
349
|
- !ruby/object:Gem::Dependency
|
244
350
|
name: sqlite3
|
245
351
|
requirement: !ruby/object:Gem::Requirement
|
@@ -265,21 +371,25 @@ files:
|
|
265
371
|
- README.md
|
266
372
|
- Rakefile
|
267
373
|
- app/assets/config/phcdevworks_core_modules_manifest.js
|
268
|
-
- app/assets/javascripts/phcdevworks_core_modules/
|
269
|
-
- app/assets/
|
270
|
-
- app/assets/javascripts/phcdevworks_core_modules/post/categories.coffee
|
374
|
+
- app/assets/javascripts/phcdevworks_core_modules/affiliate/links.coffee
|
375
|
+
- app/assets/stylesheets/phcdevworks_core_modules/affiliate/links.scss
|
271
376
|
- app/assets/stylesheets/phcdevworks_core_modules/application.scss
|
272
377
|
- app/assets/stylesheets/phcdevworks_core_modules/marketing/optimizations.scss
|
273
378
|
- app/assets/stylesheets/phcdevworks_core_modules/post/categories.scss
|
274
379
|
- app/assets/stylesheets/scaffolds.scss
|
380
|
+
- app/controllers/phcdevworks_core_modules/affiliate/links_controller.rb
|
275
381
|
- app/controllers/phcdevworks_core_modules/application_controller.rb
|
276
382
|
- app/controllers/phcdevworks_core_modules/marketing/optimizations_controller.rb
|
277
383
|
- app/controllers/phcdevworks_core_modules/post/categories_controller.rb
|
384
|
+
- app/helpers/phcdevworks_core_modules/affiliate/links_helper.rb
|
278
385
|
- app/helpers/phcdevworks_core_modules/application_helper.rb
|
279
386
|
- app/helpers/phcdevworks_core_modules/marketing/optimizations_helper.rb
|
280
387
|
- app/helpers/phcdevworks_core_modules/post/categories_helper.rb
|
281
388
|
- app/jobs/phcdevworks_core_modules/application_job.rb
|
282
389
|
- app/mailers/phcdevworks_core_modules/application_mailer.rb
|
390
|
+
- app/models/phcdevworks_core_modules/affiliate.rb
|
391
|
+
- app/models/phcdevworks_core_modules/affiliate/link.rb
|
392
|
+
- app/models/phcdevworks_core_modules/affiliate_link_versions.rb
|
283
393
|
- app/models/phcdevworks_core_modules/application_record.rb
|
284
394
|
- app/models/phcdevworks_core_modules/marketing.rb
|
285
395
|
- app/models/phcdevworks_core_modules/marketing/optimization.rb
|
@@ -292,6 +402,11 @@ files:
|
|
292
402
|
- app/views/layouts/phcdevworks_core_modules/components/backend/footer/_footer.html.erb
|
293
403
|
- app/views/layouts/phcdevworks_core_modules/components/backend/navigation/_top_menu.html.erb
|
294
404
|
- app/views/layouts/phcdevworks_core_modules/components/backend/sidebars/_side_menu.html.erb
|
405
|
+
- app/views/phcdevworks_core_modules/affiliate/links/_form.html.erb
|
406
|
+
- app/views/phcdevworks_core_modules/affiliate/links/edit.html.erb
|
407
|
+
- app/views/phcdevworks_core_modules/affiliate/links/index.html.erb
|
408
|
+
- app/views/phcdevworks_core_modules/affiliate/links/new.html.erb
|
409
|
+
- app/views/phcdevworks_core_modules/affiliate/links/show.html.erb
|
295
410
|
- app/views/phcdevworks_core_modules/marketing/optimizations/_form.html.erb
|
296
411
|
- app/views/phcdevworks_core_modules/marketing/optimizations/edit.html.erb
|
297
412
|
- app/views/phcdevworks_core_modules/marketing/optimizations/index.html.erb
|
@@ -308,6 +423,8 @@ files:
|
|
308
423
|
- db/migrate/20200705225433_create_phcdevworks_core_modules_marketing_optimization_versions.rb
|
309
424
|
- db/migrate/20200706094820_create_phcdevworks_core_modules_post_categories.rb
|
310
425
|
- db/migrate/20201012225709_remove_phcdevworks_core_modules_post_categories.rb
|
426
|
+
- db/migrate/20210207051304_create_phcdevworks_core_modules_affiliate_link_versions.rb
|
427
|
+
- db/migrate/20210208130113_create_phcdevworks_core_modules_affiliate_links.rb
|
311
428
|
- lib/phcdevworks_core_modules.rb
|
312
429
|
- lib/phcdevworks_core_modules/engine.rb
|
313
430
|
- lib/phcdevworks_core_modules/version.rb
|
@@ -315,7 +432,11 @@ files:
|
|
315
432
|
homepage: https://phcdevworks.com/
|
316
433
|
licenses:
|
317
434
|
- MIT
|
318
|
-
metadata:
|
435
|
+
metadata:
|
436
|
+
allowed_push_host: https://rubygems.org/
|
437
|
+
homepage_uri: https://phcdevworks.com/
|
438
|
+
source_code_uri: https://github.com/phcdevworks/phcdevworks_core_modules
|
439
|
+
changelog_uri: https://github.com/phcdevworks/phcdevworks_core_modules/releases
|
319
440
|
post_install_message:
|
320
441
|
rdoc_options: []
|
321
442
|
require_paths:
|