project - adding in a due date for invoices started on 12/13/17 with brandon and russell back on the project with russell on 2/23/21 branch BWM-33 in bit bucket, this branch, BWM-33 is way behind on commits and such. not much help there. brainstorming and general requirements: x - we need to add a new column to all invoice tables. this is corp-specific. x - we talked about populating all older invoices with a due date of today's date plus 14 days. x - we may need to add a setting to help set the default due date - aka - how many days to push the original date forward. x - we may need a setting to see if the corp wants to even use a due date x - add/edit on the settings x - add/edit in the shopping cart x - edit main on invoices x - question - what about transitional invoices? technically, they aren't really hitting accounts receivable until they get flipped into real customer invoices... x - all of the view cart pages need a new possible field to change (there are tons of custom carts) x - decided to only do the main cart... no code was added for custom carts x - ecommerce invoice will also need to be able to auto generate the due date based off of the settings. - we'll need to run database updates on servers. this will be corp-specific due to number of invoices. x - we may need to pre-load the cart session scope in order to make sure that the value exists. secure cart and ecommerce carts. x - we need to show the due date (if used) on the invoice line items, edit main, and all printable invoices (mini, printable with nav, pdf, limited, printer friendly, ecommerce, afb, etc.) - need to check the black and white invoice... new x - reports... what reports need to show the due date? invoice homepage, advanced invoice reports, receivables reports, make payments, invoices owed per customer, etc. - help files to update - Drea or Cory to do a news an update on the new settings and feature x - exports to excel or csv... - what about any api sockets that search or touch that table? x - what about duplicating an invoice to the cart? do we auto adjust the new due date? x - known other pages that deal with duplicating carts or duplicating invoices... x - while testing... it looks like it did it on its own. x duplicate_to_cart.cfm x quote_to_cart.cfm x add_unit_to_cart.cfm - rough time budget... 6-10 hours x - what do we want to call the variables, session stuff, FORM stuff, and database fields? - on invoices_[53] table invoice_due_date date 0000-00-00 - on corporations table use_invoice_due_date tiny int(1) 0 default_days_to_invoice_due_date int(10) 15 - on the session shopping cart session.myCart_st.myInvoiceInfo_st.invoice_due_date session.myCart_st.myInvoiceInfo_st.use_invoice_due_date session.myCart_st.myInvoiceInfo_st.days_to_invoice_due_date - normal session settings session.lookAndFeel_st.default_days_to_invoice_due_date session.lookAndFeel_st.use_invoice_due_date - what pages will this project hit? x database_updates/update_home.cfm x datebase_updates/update_20171213.cfm x cfc/maintenance.cfc x - add the new values to the add corp methods x - both corp-wide settings and invoice stuff - fix for now but make sure we cascade new changes to the sales tax expansion project branch - BWM-28 (saved some copies in the www_adilas/extras/brandon_moore folder) use them to compare and ge t the new changes for the sales tax project. x secure/corp_wide_settings.cfm x - add new page counting vars x - looking at spot # 33 x - pull new values into the page through method call x - add the two new corp-wide settings and display current choices - update help file and verbage x secure/corp_wide_settings_action.cfm x - new params x - validation x - code to hit add and edit methods x - flip the session values. x top_secret/login_action.cfm x - new session values - make sure and push up prior to being used (1 day early) x secure/choose_corp_action.cfm x - new session values - make sure and push up prior to being used (1 day early) x cfc/security.cfc x - new db values for the getCorpColorsAndSettings method. x secure/add_to_cart.cfm x - pass in corp-wide settings for the use invoice due date and the days to invoice due date x - these values will be dealing with setting up a new cart x - there are a number of sub pages that need to be checked and updated. they are: x - add_unit_to_cart.cfm, x - duplicate_to_cart.cfm, and x - quote_to_cart.cfm. x cfc/cart_4.cfc x - two new arguments on the startNewCart method. they are the default days and the use invoice due date settings x custom/campground_reservations_add_edit_action.cfm x - pass in corp-wide settings for the use invoice due date and the days to invoice due date x secure/view_cart.cfm x - be able to show/hide the due date based on settings. x - if showing... allow to edit x - there are a number of sub pages and custom carts. they are: x - fill in (decided not to do the custom carts as of 1/9/18) x secure/update_cart.cfm x - be able to update the due date if it is different or force it every time. if the date changes, we need to auto cascade the due date forward. otherwise we keep it what it was incase the user has hardcoded the date. x secure/printable_cart.cfm x - just be able to show the due date if used x secure/review_cart.cfm x - just be able to show the due date if used x secure/printable_invoice.cfm x - just be able to show the due date if used x secure/print_simple_invoices.cfm x - just be able to show the due date if used (as a note, this one allows multiple invoices) x secure/print_limited_invoices.cfm x - just be able to show the due date if used (as a note, this one allows multiple invoices) x secure/mini_invoice.cfm x - just be able to show the due date if used x secure/apply_payments.cfm x - just be able to show the due date if used x secure/invoice_line_items.cfm x - just be able to show the due date if used x secure/add_edit_invoice.cfm x - show or allow the date to be flipped based on settings. x secure/add_edit_invoice_action.cfm x - new params x - validation x - add to methods x pdf/show_printable_invoice.cfm (it will show as pdf/printable_invoice.cfm but it is really show_printable_invoice.cfm) x - just be able to show the due date if used x secure/invoice_home.cfm x - just be able to show the due date if used x secure/advanced_invoice_search.cfm x - add to the date type selection x secure/advanced_invoice_search_results.cfm x - show the due date if used x - this one also has an export to excel x secure/customer_invoice_report.cfm x - just be able to show the due date if used x secure/view_transition_dates.cfm x - this is for transition invoices... not sure here. maybe just show it or allow it to be set manually x secure/transition_invoice_action.cfm x - this page has an action page... do we auto calculate the due date or get it physically passed from the prior page? not sure. x - we are just going to leave it as a manual entry... x secure/submit_cart.cfm x - make sure and stamp the due date on the main invoice x shop/web_payments.cfm x - just be able to show the due date if used x - afb and classic x shop/web_view_history.cfm x - just be able to show the due date if used x - this page does toggle between invoices and quotes x - afb and classic x shop/web_invoice.cfm x - just be able to show the due date if used x - afb and classic /// had problems with the merchant account settings and allowing a credit card transaction to go across... /// decided to skip this testing on 2/6/18 - tried to connect to the merchant stuff but had problems. shop/web_submit_cart_final_[fill in].cfm (invoice, paypal) - we need to stamp the due date when adding the main invoice - create a new one with a valid due date secure/black_and_white_printable_invoice.cfm /// working out in the shop folder... use these new session values. if needed, we have already done the web_payments.cfm pages for both afb and classic session.corpLook_st.qCorpInfo.useInvoiceDueDate session.corpLook_st.qCorpInfo.defaultDaysToInvoiceDueDate //////////////////////////////////////////////////////////////////////////////// plan for pushing things up... - we have 72 files that have been changed. - we have 30-50 merge conflicts - this may change as others are on similar files x - we need to push up the session stuff... some of this may be fake but needs to be up at least one day prior x - write fake code and comment out real code... then push - when ready, kill the fake code and use the real code... then push again x - known pages x login_action.cfm x choose_corp_action.cfm x cart_4.cfc x duplicate_to_cart.cfm x quote_to_cart.cfm x add_unit_to_cart.cfm x corp_wide_settings_action.cfm - we have to run database updates - known problem with this... the default of 0000-00-00 will cause an error unless it gets loaded correctly - thinking of a new default date of 1900-01-01 - * going with this one - idea 1 - we could add some special code to look for it... and load it if found...soft errors - idea 2 - added a extra link on the update page that looks for the bad dates and populates it - we need to remove some of the temp code to make things fully work /// temp code - planning... in a cfc - this is rough code for idea 1 SELECT invoice_due_date FROM invoices_[fill in] WHERE invoice_number = 1 UPDATE invoices_[fill in] SET invoice_due_date = #CreateODBCDate(Now())# WHERE invoice_number = [fill in with new invoice num]