effective_learndash 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
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: []