mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-24 20:36:49 +00:00
Redesignating all references to user_invoices as account_invoices
This commit is contained in:
@@ -14,7 +14,7 @@ class Admin::AccountsAndBillingSettingsController < Spree::Admin::BaseController
|
||||
end
|
||||
|
||||
def start_job
|
||||
if @update_user_invoices_job || @finalize_user_invoices_job
|
||||
if @update_account_invoices_job || @finalize_account_invoices_job
|
||||
flash[:error] = "A task is already running, please wait until it has finished"
|
||||
else
|
||||
new_job = "#{params[:job][:name]}".camelize.constantize.new
|
||||
@@ -43,7 +43,7 @@ class Admin::AccountsAndBillingSettingsController < Spree::Admin::BaseController
|
||||
end
|
||||
|
||||
def known_jobs
|
||||
['update_user_invoices', 'finalize_user_invoices']
|
||||
['update_account_invoices', 'finalize_account_invoices']
|
||||
end
|
||||
|
||||
def require_known_job
|
||||
@@ -68,7 +68,7 @@ class Admin::AccountsAndBillingSettingsController < Spree::Admin::BaseController
|
||||
end
|
||||
|
||||
def load_jobs
|
||||
@update_user_invoices_job = Delayed::Job.where("handler LIKE (?)", "%UpdateUserInvoices%").last
|
||||
@finalize_user_invoices_job = Delayed::Job.where("handler LIKE (?)", "%FinalizeUserInvoices%").last
|
||||
@update_account_invoices_job = Delayed::Job.where("handler LIKE (?)", "%UpdateAccountInvoices%").last
|
||||
@finalize_account_invoices_job = Delayed::Job.where("handler LIKE (?)", "%FinalizeAccountInvoices%").last
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
class FinalizeUserInvoices
|
||||
class FinalizeAccountInvoices
|
||||
attr_reader :start_date, :end_date
|
||||
|
||||
def initialize(year = nil, month = nil)
|
||||
@@ -11,7 +11,7 @@ class FinalizeUserInvoices
|
||||
|
||||
def before(job)
|
||||
UpdateBillablePeriods.new(year, month).perform
|
||||
UpdateUserInvoices.new(year, month).perform
|
||||
UpdateAccountInvoices.new(year, month).perform
|
||||
end
|
||||
|
||||
def perform
|
||||
@@ -40,7 +40,7 @@ class FinalizeUserInvoices
|
||||
def settings_are_valid?
|
||||
unless end_date <= Time.now
|
||||
Bugsnag.notify(RuntimeError.new("InvalidJobSettings"), {
|
||||
job: "FinalizeUserInvoices",
|
||||
job: "FinalizeAccountInvoices",
|
||||
error: "end_date is in the future",
|
||||
data: {
|
||||
end_date: end_date.localtime.strftime("%F %T"),
|
||||
@@ -52,7 +52,7 @@ class FinalizeUserInvoices
|
||||
|
||||
unless @accounts_distributor = Enterprise.find_by_id(Spree::Config.accounts_distributor_id)
|
||||
Bugsnag.notify(RuntimeError.new("InvalidJobSettings"), {
|
||||
job: "FinalizeUserInvoices",
|
||||
job: "FinalizeAccountInvoices",
|
||||
error: "accounts_distributor_id is invalid",
|
||||
data: {
|
||||
accounts_distributor_id: Spree::Config.accounts_distributor_id
|
||||
@@ -63,7 +63,7 @@ class FinalizeUserInvoices
|
||||
|
||||
unless @accounts_distributor.payment_methods.find_by_id(Spree::Config.default_accounts_payment_method_id)
|
||||
Bugsnag.notify(RuntimeError.new("InvalidJobSettings"), {
|
||||
job: "FinalizeUserInvoices",
|
||||
job: "FinalizeAccountInvoices",
|
||||
error: "default_accounts_payment_method_id is invalid",
|
||||
data: {
|
||||
default_accounts_payment_method_id: Spree::Config.default_accounts_payment_method_id
|
||||
@@ -74,7 +74,7 @@ class FinalizeUserInvoices
|
||||
|
||||
unless @accounts_distributor.shipping_methods.find_by_id(Spree::Config.default_accounts_shipping_method_id)
|
||||
Bugsnag.notify(RuntimeError.new("InvalidJobSettings"), {
|
||||
job: "FinalizeUserInvoices",
|
||||
job: "FinalizeAccountInvoices",
|
||||
error: "default_accounts_shipping_method_id is invalid",
|
||||
data: {
|
||||
default_accounts_shipping_method_id: Spree::Config.default_accounts_shipping_method_id
|
||||
@@ -1,4 +1,4 @@
|
||||
class UpdateUserInvoices
|
||||
class UpdateAccountInvoices
|
||||
attr_reader :start_date, :end_date
|
||||
|
||||
def initialize(year = nil, month = nil)
|
||||
@@ -82,7 +82,7 @@ class UpdateUserInvoices
|
||||
def settings_are_valid?
|
||||
unless end_date <= Time.now
|
||||
Bugsnag.notify(RuntimeError.new("InvalidJobSettings"), {
|
||||
job: "UpdateUserInvoices",
|
||||
job: "UpdateAccountInvoices",
|
||||
error: "end_date is in the future",
|
||||
data: {
|
||||
end_date: end_date.localtime.strftime("%F %T"),
|
||||
@@ -94,7 +94,7 @@ class UpdateUserInvoices
|
||||
|
||||
unless Enterprise.find_by_id(Spree::Config.accounts_distributor_id)
|
||||
Bugsnag.notify(RuntimeError.new("InvalidJobSettings"), {
|
||||
job: "UpdateUserInvoices",
|
||||
job: "UpdateAccountInvoices",
|
||||
error: "accounts_distributor_id is invalid",
|
||||
data: {
|
||||
accounts_distributor_id: Spree::Config.accounts_distributor_id
|
||||
|
||||
@@ -43,14 +43,14 @@
|
||||
.six.columns.alpha.step.text-center
|
||||
.form-buttons{"data-hook" => "buttons"}
|
||||
=link_to_with_icon "icon-undo", "Update User Invoices",
|
||||
main_app.start_job_admin_accounts_and_billing_settings_path(job: { name: "update_user_invoices" }),
|
||||
main_app.start_job_admin_accounts_and_billing_settings_path(job: { name: "update_account_invoices" }),
|
||||
class: "button fullwidth"
|
||||
|
||||
%br
|
||||
|
||||
- if @update_user_invoices_job
|
||||
- if @update_account_invoices_job
|
||||
%p.text-center
|
||||
- if @update_user_invoices_job.run_at < Time.now
|
||||
- if @update_account_invoices_job.run_at < Time.now
|
||||
%strong In Progress
|
||||
%br
|
||||
Started at:
|
||||
@@ -58,7 +58,7 @@
|
||||
%strong Queued
|
||||
%br
|
||||
Scheduled for:
|
||||
= @update_user_invoices_job.run_at
|
||||
= @update_account_invoices_job.run_at
|
||||
- else
|
||||
%p.explanation
|
||||
Use this button to immediately update invoices for the month to date for each enterprise user in the system. This task can be set up to run automatically every night.
|
||||
@@ -67,14 +67,14 @@
|
||||
.six.columns.omega.step.text-center
|
||||
.form-buttons{"data-hook" => "buttons"}
|
||||
=link_to_with_icon "icon-ok-sign", "Finalise User Invoices",
|
||||
main_app.start_job_admin_accounts_and_billing_settings_path(job: { name: "finalize_user_invoices" }),
|
||||
main_app.start_job_admin_accounts_and_billing_settings_path(job: { name: "finalize_account_invoices" }),
|
||||
class: "button fullwidth"
|
||||
|
||||
%br
|
||||
|
||||
- if @finalize_user_invoices_job
|
||||
- if @finalize_account_invoices_job
|
||||
%p.text-center
|
||||
- if @finalize_user_invoices_job.run_at < Time.now
|
||||
- if @finalize_account_invoices_job.run_at < Time.now
|
||||
%strong In Progress
|
||||
%br
|
||||
Started at:
|
||||
@@ -82,7 +82,7 @@
|
||||
%strong Queued
|
||||
%br
|
||||
Scheduled for:
|
||||
= @finalize_user_invoices_job.run_at
|
||||
= @finalize_account_invoices_job.run_at
|
||||
- else
|
||||
%p.explanation
|
||||
Use this button to finalize all invoices in the system for the previous calendar month. This task can be set up to run automatically once a month.
|
||||
|
||||
@@ -20,10 +20,10 @@ every 4.hours do
|
||||
end
|
||||
|
||||
every 1.day, at: '1:00am' do
|
||||
rake 'openfoodnetwork:billing:update_user_invoices'
|
||||
rake 'openfoodnetwork:billing:update_account_invoices'
|
||||
end
|
||||
|
||||
# On the 2nd of every month at 1:30am
|
||||
every '30 1 2 * *' do
|
||||
rake 'openfoodnetwork:billing:finalize_user_invoices'
|
||||
rake 'openfoodnetwork:billing:finalize_account_invoices'
|
||||
end
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
namespace :openfoodnetwork do
|
||||
namespace :billing do
|
||||
desc 'Update enterprise user invoices'
|
||||
task update_user_invoices: :environment do
|
||||
Delayed::Job.enqueue(UpdateUserInvoices.new) if Spree::Config[:auto_update_invoices]
|
||||
task update_account_invoices: :environment do
|
||||
Delayed::Job.enqueue(UpdateAccountInvoices.new) if Spree::Config[:auto_update_invoices]
|
||||
end
|
||||
|
||||
desc 'Finalize enterprise user invoices'
|
||||
task finalize_user_invoices: :environment do
|
||||
Delayed::Job.enqueue(FinalizeUserInvoices.new) if Spree::Config[:auto_finalize_invoices]
|
||||
task finalize_account_invoices: :environment do
|
||||
Delayed::Job.enqueue(FinalizeAccountInvoices.new) if Spree::Config[:auto_finalize_invoices]
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -151,8 +151,8 @@ describe Admin::AccountsAndBillingSettingsController, type: :controller do
|
||||
end
|
||||
end
|
||||
|
||||
context "and job_name is update_user_invoices" do
|
||||
let!(:params) { { job: { name: "update_user_invoices" } } }
|
||||
context "and job_name is update_account_invoices" do
|
||||
let!(:params) { { job: { name: "update_account_invoices" } } }
|
||||
|
||||
context "and no jobs are currently running" do
|
||||
before do
|
||||
@@ -160,7 +160,7 @@ describe Admin::AccountsAndBillingSettingsController, type: :controller do
|
||||
end
|
||||
|
||||
it "runs the job" do
|
||||
expect{spree_post :start_job, params}.to enqueue_job UpdateUserInvoices
|
||||
expect{spree_post :start_job, params}.to enqueue_job UpdateAccountInvoices
|
||||
expect(flash[:success]).to eq "Task Queued"
|
||||
expect(response).to redirect_to edit_admin_accounts_and_billing_settings_path
|
||||
end
|
||||
@@ -169,19 +169,19 @@ describe Admin::AccountsAndBillingSettingsController, type: :controller do
|
||||
context "and there are jobs currently running" do
|
||||
before do
|
||||
allow(controller).to receive(:load_jobs)
|
||||
controller.instance_variable_set("@update_user_invoices_job", double(:update_user_invoices_job))
|
||||
controller.instance_variable_set("@update_account_invoices_job", double(:update_account_invoices_job))
|
||||
end
|
||||
|
||||
it "does not run the job" do
|
||||
expect{spree_post :start_job, params}.to_not enqueue_job UpdateUserInvoices
|
||||
expect{spree_post :start_job, params}.to_not enqueue_job UpdateAccountInvoices
|
||||
expect(flash[:error]).to eq "A task is already running, please wait until it has finished"
|
||||
expect(response).to redirect_to edit_admin_accounts_and_billing_settings_path
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context "and job_name is finalize_user_invoices" do
|
||||
let!(:params) { { job: { name: "finalize_user_invoices" } } }
|
||||
context "and job_name is finalize_account_invoices" do
|
||||
let!(:params) { { job: { name: "finalize_account_invoices" } } }
|
||||
|
||||
context "and no jobs are currently running" do
|
||||
before do
|
||||
@@ -189,7 +189,7 @@ describe Admin::AccountsAndBillingSettingsController, type: :controller do
|
||||
end
|
||||
|
||||
it "runs the job" do
|
||||
expect{spree_post :start_job, params}.to enqueue_job FinalizeUserInvoices
|
||||
expect{spree_post :start_job, params}.to enqueue_job FinalizeAccountInvoices
|
||||
expect(flash[:success]).to eq "Task Queued"
|
||||
expect(response).to redirect_to edit_admin_accounts_and_billing_settings_path
|
||||
end
|
||||
@@ -198,11 +198,11 @@ describe Admin::AccountsAndBillingSettingsController, type: :controller do
|
||||
context "and there are jobs currently running" do
|
||||
before do
|
||||
allow(controller).to receive(:load_jobs)
|
||||
controller.instance_variable_set("@finalize_user_invoices_job", double(:finalize_user_invoices_job))
|
||||
controller.instance_variable_set("@finalize_account_invoices_job", double(:finalize_account_invoices_job))
|
||||
end
|
||||
|
||||
it "does not run the job" do
|
||||
expect{spree_post :start_job, params}.to_not enqueue_job FinalizeUserInvoices
|
||||
expect{spree_post :start_job, params}.to_not enqueue_job FinalizeAccountInvoices
|
||||
expect(flash[:error]).to eq "A task is already running, please wait until it has finished"
|
||||
expect(response).to redirect_to edit_admin_accounts_and_billing_settings_path
|
||||
end
|
||||
|
||||
@@ -34,8 +34,8 @@ feature 'Account and Billing Settings' do
|
||||
select2_select accounts_distributor.name, from: "settings_accounts_distributor_id"
|
||||
expect(page).to have_select "settings_default_accounts_payment_method_id"
|
||||
expect(page).to have_select "settings_default_accounts_shipping_method_id"
|
||||
expect(page).to have_link "Update User Invoices", href: start_job_admin_accounts_and_billing_settings_path(job: { name: 'update_user_invoices'})
|
||||
expect(page).to have_link "Finalise User Invoices", href: start_job_admin_accounts_and_billing_settings_path(job: { name: 'finalize_user_invoices'})
|
||||
expect(page).to have_link "Update User Invoices", href: start_job_admin_accounts_and_billing_settings_path(job: { name: 'update_account_invoices'})
|
||||
expect(page).to have_link "Finalise User Invoices", href: start_job_admin_accounts_and_billing_settings_path(job: { name: 'finalize_account_invoices'})
|
||||
end
|
||||
|
||||
it "attributes can be changed", js: true do
|
||||
|
||||
@@ -5,9 +5,9 @@ def travel_to(time)
|
||||
end
|
||||
|
||||
|
||||
describe FinalizeUserInvoices do
|
||||
describe FinalizeAccountInvoices do
|
||||
describe "unit specs" do
|
||||
let!(:finalizer) { FinalizeUserInvoices.new }
|
||||
let!(:finalizer) { FinalizeAccountInvoices.new }
|
||||
let!(:start_of_july) { Time.now.beginning_of_year + 6.months }
|
||||
|
||||
describe "perform" do
|
||||
@@ -81,7 +81,7 @@ describe FinalizeUserInvoices do
|
||||
end
|
||||
|
||||
context "and specfic start and end dates are passed as arguments" do
|
||||
let!(:finalizer) { FinalizeUserInvoices.new(Time.now.year, 6) }
|
||||
let!(:finalizer) { FinalizeAccountInvoices.new(Time.now.year, 6) }
|
||||
|
||||
before do
|
||||
allow(finalizer).to receive(:finalizer)
|
||||
@@ -145,8 +145,8 @@ describe FinalizeUserInvoices do
|
||||
describe "validation spec" do
|
||||
let!(:start_of_july) { Time.now.beginning_of_year + 6.months }
|
||||
|
||||
let!(:updater) { UpdateUserInvoices.new }
|
||||
let!(:finalizer) { FinalizeUserInvoices.new }
|
||||
let!(:updater) { UpdateAccountInvoices.new }
|
||||
let!(:finalizer) { FinalizeAccountInvoices.new }
|
||||
|
||||
let!(:pm) { create(:payment_method, name: "Default Payment Method") }
|
||||
let!(:sm) { create(:shipping_method, name: "Default Shipping Method") }
|
||||
|
||||
@@ -4,11 +4,11 @@ def travel_to(time)
|
||||
around { |example| Timecop.travel(start_of_july + time) { example.run } }
|
||||
end
|
||||
|
||||
describe UpdateUserInvoices do
|
||||
describe UpdateAccountInvoices do
|
||||
describe "units specs" do
|
||||
let!(:start_of_july) { Time.now.beginning_of_year + 6.months }
|
||||
|
||||
let!(:updater) { UpdateUserInvoices.new }
|
||||
let!(:updater) { UpdateAccountInvoices.new }
|
||||
|
||||
let!(:user) { create(:user) }
|
||||
let!(:old_billable_period) { create(:billable_period, owner: user, begins_at: start_of_july - 1.month, ends_at: start_of_july) }
|
||||
@@ -61,7 +61,7 @@ describe UpdateUserInvoices do
|
||||
end
|
||||
|
||||
context "when specfic start and end dates are passed as arguments" do
|
||||
let!(:updater) { UpdateUserInvoices.new(Time.now.year, 7) }
|
||||
let!(:updater) { UpdateAccountInvoices.new(Time.now.year, 7) }
|
||||
|
||||
before do
|
||||
allow(updater).to receive(:update_invoice_for)
|
||||
@@ -323,7 +323,7 @@ describe UpdateUserInvoices do
|
||||
describe "validation spec" do
|
||||
let!(:start_of_july) { Time.now.beginning_of_year + 6.months }
|
||||
|
||||
let!(:updater) { UpdateUserInvoices.new }
|
||||
let!(:updater) { UpdateAccountInvoices.new }
|
||||
|
||||
let!(:accounts_distributor) { create(:distributor_enterprise) }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user