effective_learndash 0.1.4 → 0.1.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 83cc9e6d5daa0a6e08e491f1ea9edec7f8e394b045801a2d704eaacab5c93f18
4
- data.tar.gz: 467de056d4e11255c927a212e0f893b54ddcac8720ec12bf80299873ff5e2910
3
+ metadata.gz: 43df5441a08d0a4f6974c1833c3967e007f0b84d29bb0211a574b9b5803ecf6e
4
+ data.tar.gz: '019f88430901977c58b6ae5a2266aa9b27a548689d1d14aa78926ec32639f582'
5
5
  SHA512:
6
- metadata.gz: 1cbb48faa89c8d2a6fee3f47b78cdb41f3cf20871b354f7e88852a5103e0a294d4b2dd1d2eca63be1525dd546e365fd8143416e35942d714039ecd6031a12a0c
7
- data.tar.gz: ee47891e98f74e0c8ecdbacbd76f37071a16d95a347bca7014f421a4aeb007b7ffc92d0f96c080dea39c8d57b15b92aa83f06f5558a0ee2182049dfa442952c0
6
+ metadata.gz: ebb0420d408114b919048393146dc0fbfb25c66f635672e8da07beef5847f78388e11cc08b243299db4ef132cd220025ba945715b83e87440e957b37f9ed71f2
7
+ data.tar.gz: dc6af37f79445a95ebed1e4501be634ec795d5e1f7ca09e997087e25a0aa95cb8d392a892cd51207998d2ea0d2c30ba885fc8865364860fee0d9260d70cdcb32
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # Effective Learndash
1
+ # Effective LearnDash
2
2
 
3
- Create Wordpress users and read Learndash course progress. This is an unoffocial integration that is not supported or affiliated with WordPress or Learndash.
3
+ Create Wordpress users and read LearnDash course progress. This is an unofficial integration that is not supported or affiliated with WordPress or LearnDash.
4
4
 
5
5
  ## Getting Started
6
6
 
@@ -91,29 +91,29 @@ if user.admin?
91
91
  end
92
92
  ```
93
93
 
94
- ## Configuring Learndash
94
+ ## Configuring LearnDash
95
95
 
96
- Your Wordpress should be configured ahead of time with the Learndash plugin.
96
+ Your WordPress should be configured ahead of time with the LearnDash plugin.
97
97
 
98
98
  Please generate an application password via:
99
99
 
100
100
  https://make.wordpress.org/core/2020/11/05/application-passwords-integration-guide/
101
101
 
102
- and fill in the username/password details in config/initializers/effective_leardash.rb
102
+ and fill in the username/password details in config/initializers/effective_learndash.rb
103
103
 
104
- ## Working with Learndash
104
+ ## Working with LearnDash
105
105
 
106
106
  Visit `/admin/learndash_courses` and Refresh the list of Courses.
107
107
 
108
- Create a New Learndash User will create a new Wordpress/Learndash account with a username/password according to the settings in the config file.
108
+ Create a New LearnDash User will create a new WordPress/LearnDash account with a username/password according to the settings in the config file.
109
109
 
110
110
  When you create a user, you only get access to the password once. So any existing users will have an unknown password.
111
111
 
112
- Create a new Learndash Enrollment to enroll a learndash user into a course. This will begin tracking their progress.
112
+ Create a new LearnDash Enrollment to enroll a LearnDash user into a course. This will begin tracking their progress.
113
113
 
114
- There are no webhooks or callbacks from Learndash, everything is a GET request that updates the local database.
114
+ There are no webhooks or callbacks from LearnDash, everything is a GET request that updates the local database.
115
115
 
116
- You can refresh an entire learndash user in one operation and it will sync the entire user at once, `user.learndash_user.refresh!`
116
+ You can refresh an entire LearnDash user in one operation and it will sync the entire user at once, `user.learndash_user.refresh!`
117
117
 
118
118
  ## License
119
119
 
@@ -7,7 +7,7 @@ module Admin
7
7
 
8
8
  def refresh
9
9
  resource_scope.refresh!
10
- flash[:success] = "Successfully refreshed Courses from Learndash"
10
+ flash[:success] = "Successfully refreshed Courses from LearnDash"
11
11
  redirect_to effective_learndash.admin_learndash_courses_path
12
12
  end
13
13
 
@@ -4,7 +4,7 @@ module Admin
4
4
  order :title
5
5
 
6
6
  col :id, visible: false
7
- col :course_id, label: 'Learndash Id', visible: false
7
+ col :course_id, label: 'LearnDash Id', visible: false
8
8
 
9
9
  col :title
10
10
  col :status
@@ -2,7 +2,7 @@ module Admin
2
2
  class EffectiveLearndashUsersDatatable < Effective::Datatable
3
3
  datatable do
4
4
  col :id, visible: false
5
- col :user_id, label: 'Learndash Id', visible: false
5
+ col :user_id, label: 'LearnDash Id', visible: false
6
6
 
7
7
  col :last_refreshed, visible: true do |user|
8
8
  time_ago_in_words(user.last_synced_at) + ' ago'
@@ -6,12 +6,12 @@ class EffectiveCourseRegistrationsDatatable < Effective::Datatable
6
6
  col :token, visible: false
7
7
  col :created_at, visible: false
8
8
 
9
- col(:submitted_at, label: 'Registered on') do |registration|
10
- registration.submitted_at&.strftime('%F') || 'Incomplete'
9
+ col :learndash_course, label: 'Title', search: :string do |registration|
10
+ registration.learndash_course.to_s
11
11
  end
12
12
 
13
- col :learndash_course, search: :string do |registration|
14
- registration.learndash_course.to_s
13
+ col(:submitted_at, label: 'Registered on') do |registration|
14
+ registration.submitted_at&.strftime('%F') || 'Incomplete'
15
15
  end
16
16
 
17
17
  col :owner, visible: false, search: :string
@@ -10,12 +10,14 @@ class EffectiveLearndashCoursesDatatable < Effective::Datatable
10
10
  order :title
11
11
  col :id, visible: false
12
12
 
13
- col :title, label: 'Title' do |learndash_course|
14
- link_to(learndash_course.to_s, effective_learndash.learndash_course_path(learndash_course))
13
+ col :title do |learndash_course|
14
+ learndash_course.to_s
15
15
  end
16
16
 
17
17
  actions_col show: false do |learndash_course|
18
- if learndash_course.can_register?
18
+ if current_user.learndash_enrollment(course: learndash_course).present?
19
+ 'Registered. Please access from the home dashboard or applicant wizard.'
20
+ elsif learndash_course.can_register?
19
21
  dropdown_link_to('Register', effective_learndash.new_learndash_course_course_registration_path(learndash_course))
20
22
  end
21
23
  end
@@ -1,11 +1,11 @@
1
1
  # Dashboard LearndashUsers
2
2
  class EffectiveLearndashEnrollmentsDatatable < Effective::Datatable
3
3
  datatable do
4
- col :learndash_course do |enrollment|
5
- link_to(enrollment.learndash_course, EffectiveLearndash.learndash_url, target: '_blank')
4
+ col :learndash_course, label: 'Title' do |enrollment|
5
+ enrollment.learndash_course.to_s
6
6
  end
7
7
 
8
- col :progress_status
8
+ col :progress_status, label: 'Status'
9
9
 
10
10
  col :last_step, visible: false
11
11
  col :steps_completed, visible: false
@@ -16,9 +16,9 @@ class EffectiveLearndashEnrollmentsDatatable < Effective::Datatable
16
16
 
17
17
  actions_col(show: false) do |enrollment|
18
18
  if enrollment.not_started?
19
- dropdown_link_to('Start', EffectiveLearndash.learndash_url, target: '_blank')
19
+ dropdown_link_to('Access Course', EffectiveLearndash.learndash_url, target: '_blank')
20
20
  elsif enrollment.in_progress?
21
- dropdown_link_to('Continue', EffectiveLearndash.learndash_url, target: '_blank')
21
+ dropdown_link_to('Continue Course', EffectiveLearndash.learndash_url, target: '_blank')
22
22
  else
23
23
  dropdown_link_to('Show', EffectiveLearndash.learndash_url, target: '_blank')
24
24
  end
@@ -127,11 +127,16 @@ module EffectiveLearndashCourseRegistration
127
127
  learndash_owner.membership_present?
128
128
  end
129
129
 
130
- def assign_pricing
131
- price = (member_pricing? ? learndash_course.member_price : learndash_course.regular_price)
130
+ def registration_price
131
+ raise('expected a learndash course') unless learndash_course.present?
132
+ raise('expected a learndash owner') unless learndash_owner.present?
132
133
 
134
+ member_pricing? ? learndash_course.member_price : learndash_course.regular_price
135
+ end
136
+
137
+ def assign_pricing
133
138
  course_registrant.assign_attributes(
134
- price: price,
139
+ price: registration_price,
135
140
  qb_item_name: learndash_course.qb_item_name,
136
141
  tax_exempt: learndash_course.tax_exempt
137
142
  )
@@ -146,7 +146,7 @@ module Effective
146
146
  end
147
147
 
148
148
  def username_for(resource)
149
- raise('expected a learndash owner') unless resource.class.respond_to?(:effective_learndash_owner?) # This is a user
149
+ raise('expected a LearnDash owner') unless resource.class.respond_to?(:effective_learndash_owner?) # This is a user
150
150
 
151
151
  name = EffectiveLearndash.wp_username_for(resource)
152
152
  name = "test#{name}" unless Rails.env.production?
@@ -154,7 +154,7 @@ module Effective
154
154
  end
155
155
 
156
156
  def email_for(resource)
157
- raise('expected a learndash owner') unless resource.class.respond_to?(:effective_learndash_owner?) # This is a user
157
+ raise('expected a LearnDash owner') unless resource.class.respond_to?(:effective_learndash_owner?) # This is a user
158
158
 
159
159
  email = resource.email
160
160
  email = "test#{email}" unless Rails.env.production?
@@ -162,7 +162,7 @@ module Effective
162
162
  end
163
163
 
164
164
  def password_for(resource)
165
- raise('expected a learndash owner') unless resource.class.respond_to?(:effective_learndash_owner?) # This is a user
165
+ raise('expected a LearnDash owner') unless resource.class.respond_to?(:effective_learndash_owner?) # This is a user
166
166
  EffectiveLearndash.wp_password_for(resource)
167
167
  end
168
168
 
@@ -178,7 +178,7 @@ module Effective
178
178
  elsif response.kind_of?(Array)
179
179
  response.first
180
180
  else
181
- raise("unexpected Learndash API response #{response}")
181
+ raise("unexpected LearnDash API response #{response}")
182
182
  end
183
183
  end
184
184
 
@@ -199,7 +199,7 @@ module Effective
199
199
  elsif response.kind_of?(Array)
200
200
  response
201
201
  else
202
- raise("unexpected Learndash API find_by response #{response}")
202
+ raise("unexpected LearnDash API find_by response #{response}")
203
203
  end
204
204
  )
205
205
 
@@ -6,7 +6,7 @@
6
6
  = tab 'Enrollments' do
7
7
  %h2 Enrollments
8
8
  %p Click the New button from the below table to enroll a user into this course.
9
- %p Enrolling a user here will enroll them on the Learndash site.
9
+ %p Enrolling a user here will enroll them on the LearnDash site.
10
10
  %p Alternately, if this course is available for registration, the enrollment will be created upon registration purchase.
11
11
 
12
12
  - datatable = Admin::EffectiveLearndashEnrollmentsDatatable.new(learndash_course: learndash_course)
@@ -1,10 +1,10 @@
1
- = card('Learndash Course') do
1
+ = card('LearnDash Course') do
2
2
  %p= learndash_course.title
3
3
  %p= link_to(learndash_course.link, learndash_course.link, target: '_blank')
4
4
 
5
- %p= link_to "Learndash LMS Course Admin", EffectiveLearndash.learndash_url.chomp('/') + "/wp-admin/post.php?post=#{learndash_course.course_id}}&action=edit", target: '_blank'
5
+ %p= link_to "LearnDash LMS Course Admin", EffectiveLearndash.learndash_url.chomp('/') + "/wp-admin/post.php?post=#{learndash_course.course_id}}&action=edit", target: '_blank'
6
6
 
7
- %h3 Learndash User Enrollments
7
+ %h3 LearnDash User Enrollments
8
8
 
9
9
  %p Click the New button from the below table to enroll a user into this course.
10
10
 
@@ -1,5 +1,5 @@
1
1
  - if owner.learndash_user.blank?
2
- %p #{owner} does not yet have an account on Learndash.
2
+ %p #{owner} does not yet have an account on LearnDash.
3
3
 
4
4
  - if owner.learndash_user.present?
5
5
  = render('admin/learndash_users/learndash_user', learndash_user: owner.learndash_user)
@@ -1,6 +1,6 @@
1
1
  = effective_form_with(model: [:admin, learndash_user], engine: true) do |f|
2
2
 
3
3
  = f.select :owner, {'Owners' => current_user.class.sorted }, polymorphic: true,
4
- hint: 'Create a Learndash user account for this website user'
4
+ hint: 'Create a LearnDash account for this user'
5
5
 
6
6
  = f.submit
@@ -1,19 +1,19 @@
1
- = card('Learndash User') do
1
+ = card('LearnDash') do
2
2
  %p
3
3
  = link_to(learndash_user.owner, "/admin/users/#{learndash_user.owner.to_param}/edit")
4
- has an existing account on Learndash.
4
+ has an existing account on LearnDash.
5
5
 
6
6
  %ul
7
7
  %li Email: #{learndash_user.email}
8
8
  %li Username: #{learndash_user.username}
9
9
  %li Password: #{learndash_user.password}
10
10
 
11
- %p= link_to "Learndash LMS User Admin", EffectiveLearndash.learndash_url.chomp('/') + "/wp-admin/user-edit.php?user_id=#{learndash_user.user_id}", target: '_blank'
11
+ %p= link_to "LearnDash LMS User Admin", EffectiveLearndash.learndash_url.chomp('/') + "/wp-admin/user-edit.php?user_id=#{learndash_user.user_id}", target: '_blank'
12
12
 
13
13
  %p
14
14
  %small Last refreshed #{time_ago_in_words(learndash_user.last_synced_at)} ago.
15
15
 
16
- %h3 Learndash Course Enrollments
16
+ %h3 LearnDash Course Enrollments
17
17
 
18
18
  %p Click the New button from the below table to manually enroll this user into a new course.
19
19
 
@@ -2,19 +2,23 @@
2
2
  %table.table.table-sm
3
3
  %tbody
4
4
  %tr
5
- %th.border-0 Learndash Course
5
+ %th.border-0 Course
6
6
  %td.border-0
7
- %p= link_to(course_registration.course, EffectiveLearndash.learndash_url, target: '_blank')
7
+ %p
8
+ %strong=course_registration.course
8
9
 
9
- %p Please sign into Learndash with the following credentials:
10
10
  - learndash_user = course_registration.learndash_owner.learndash_user
11
+ %p Your course account credentials are:
11
12
 
12
13
  %ul
13
- %li Email: #{learndash_user.email}
14
- %li Username: #{learndash_user.username}
15
- %li Password: #{learndash_user.password}
14
+ %li
15
+ %strong Username:
16
+ #{learndash_user.username}
17
+ %li
18
+ %strong Password:
19
+ #{learndash_user.password}
16
20
 
17
- %p= link_to('Learndash LMS', EffectiveLearndash.learndash_url, target: '_blank')
21
+ %p= link_to('Sign in to your course account', EffectiveLearndash.learndash_url, target: '_blank', class: 'btn btn-primary mb-2')
18
22
 
19
23
  - if request.path.start_with?('/admin')
20
24
  %tr
@@ -2,9 +2,8 @@
2
2
  = render 'effective/course_registrations/content', resource: resource
3
3
 
4
4
  = card('Course') do
5
- = render('effective/learndash_courses/learndash_course', learndash_course: resource.learndash_course)
6
-
7
- %p You qualify for #{resource.member_pricing? ? 'member' : 'regular'} pricing.
5
+ %p= resource.learndash_course
6
+ %p= price_to_currency(resource.registration_price)
8
7
 
9
8
  = effective_form_with(model: resource, url: wizard_path(step), method: :put) do |f|
10
9
  = f.hidden_field :id
@@ -13,12 +13,13 @@
13
13
  .alert.alert-warning
14
14
  You are already enrolled in #{link_to(resource.course, EffectiveLearndash.learndash_url, target: '_blank')}.
15
15
 
16
- = effective_form_with(model: resource, url: wizard_path(step), method: :put) do |f|
17
- = f.hidden_field :id
16
+ - if existing.blank?
17
+ = effective_form_with(model: resource, url: wizard_path(step), method: :put) do |f|
18
+ = f.hidden_field :id
18
19
 
19
- = f.hidden_field :learndash_course_id
20
+ = f.hidden_field :learndash_course_id
20
21
 
21
- = f.hidden_field :owner_type
22
- = f.hidden_field :owner_id
22
+ = f.hidden_field :owner_type
23
+ = f.hidden_field :owner_id
23
24
 
24
- = f.save 'Save and Continue'
25
+ = f.save 'Save and Continue'
@@ -10,7 +10,6 @@
10
10
  = link_to "Return to Dashboard", root_path, class: 'btn btn-lg btn-primary mb-4'
11
11
 
12
12
  = render 'effective/course_registrations/summary', course_registration: resource
13
- = render 'effective/course_registrations/course_registration', course_registration: resource
14
13
  = render 'effective/course_registrations/orders', course_registration: resource
15
14
 
16
15
  = link_to "Return to Dashboard", root_path, class: 'btn btn-lg btn-primary'
@@ -1,31 +1,29 @@
1
1
  - learndash_user = current_user.try(:learndash_user)
2
2
  - authorized = learndash_user && EffectiveResources.authorized?(self, :show, learndash_user)
3
3
 
4
- %h2 Learndash Courses
4
+ %h2 Courses
5
5
 
6
6
  - if learndash_user.blank?
7
- %p You do not have a Learndash account.
8
-
9
- - if learndash_user.present?
10
- %p
11
- = succeed('.') do
12
- You have an existing account on
13
- = link_to('Learndash', EffectiveLearndash.learndash_url, target: '_blank')
7
+ %p You do not have an account to access courses. When you are enrolled in a course, your account credentials will be displayed here.
14
8
 
15
9
  - if learndash_user.present? && authorized
16
10
  - learndash_user.refresh!
17
11
 
18
- %p Please sign into Learndash with the following credentials:
12
+ %p Your course account credentials are:
19
13
 
20
14
  %ul
21
- %li Email: #{learndash_user.email}
22
- %li Username: #{learndash_user.username}
23
- %li Password: #{learndash_user.password}
15
+ %li
16
+ %strong Username:
17
+ #{learndash_user.username}
18
+ %li
19
+ %strong Password:
20
+ #{learndash_user.password}
24
21
 
25
- - if learndash_user.learndash_enrollments.present?
26
- %p You are enrolled in #{pluralize(learndash_user.learndash_enrollments.length, 'course')}.
22
+ %p= link_to('Sign in to your course account', EffectiveLearndash.learndash_url, target: '_blank', class: 'btn btn-primary')
27
23
 
24
+ - if learndash_user.learndash_enrollments.present?
28
25
  - datatable = EffectiveResources.best('EffectiveLearndashEnrollmentsDatatable').new(self)
29
26
  = render_datatable(datatable, simple: true)
27
+
30
28
  - else
31
- You are not enrolled in any Learndash courses.
29
+ %p You are not enrolled in any courses.
@@ -4,7 +4,7 @@
4
4
  %th Regular Price
5
5
  %td= price_to_currency(learndash_course.regular_price)
6
6
  %tr
7
- %th Member Price
7
+ %th Discounted Price
8
8
  %td= price_to_currency(learndash_course.member_price)
9
9
 
10
10
  - if learndash_course.body.present?
data/config/routes.rb CHANGED
@@ -7,7 +7,7 @@ end
7
7
  EffectiveLearndash::Engine.routes.draw do
8
8
  # Public routes
9
9
  scope module: 'effective' do
10
- resources :learndash_courses, only: [:index, :show] do
10
+ resources :learndash_courses, only: [:index] do
11
11
  resources :course_registrations, only: [:new, :show, :destroy] do
12
12
  resources :build, controller: :course_registrations, only: [:show, :update]
13
13
  end
@@ -1,3 +1,3 @@
1
1
  module EffectiveLearndash
2
- VERSION = '0.1.4'.freeze
2
+ VERSION = '0.1.5'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_learndash
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Code and Effect
@@ -164,7 +164,7 @@ dependencies:
164
164
  - - ">="
165
165
  - !ruby/object:Gem::Version
166
166
  version: '0'
167
- description: Create Wordpress users and read Learndash course progress
167
+ description: Create Wordpress users and read LearnDash course progress
168
168
  email:
169
169
  - info@codeandeffect.com
170
170
  executables: []
@@ -259,5 +259,5 @@ requirements: []
259
259
  rubygems_version: 3.1.2
260
260
  signing_key:
261
261
  specification_version: 4
262
- summary: Create Wordpress users and read Learndash course progress
262
+ summary: Create Wordpress users and read LearnDash course progress
263
263
  test_files: []