/****************************************************************************** * * LGTC Order System changelogs * * Release : 2004-09-01 * Modified : 2023-12-22 * Version : 1.3.4 * * Programmers : Ivo F.A.C. Fokkema * Michel P. Villerius * *************/ /******************* * 1.3.4 * 2023-12-22 ************/ * Kostenplaatsen were rejected when spaces and other invisible characters were included in the field; usually when users copy and paste the number from elsewhere. The system now tries to remove unseen characters before checking the input, which should solve most (if not all) problems for our users. /******************* * 1.3.3 * 2023-01-04 ************/ * Synced our PDO library with the latest LOVD3 PDO library. * Checked all usage of is_numeric() and replaced when necessary. * Checked all usage of ctype_digit() as PHP now requires string input. * Fixed many notices in many files. * Detached client_client.php and lgtc_lims_submit.php from magic quoting. * Synced error messages between client and admin areas. * Dropped ability for clients to see quotations before they are done. * Removed barcodes from quotations and the order report. It wasn't working anymore on production, and apparently, it's not used anymore. * Synced the code creating and editing orders. This results in improvements on both sides. The kostenplaats field wasn't checked when an order was edited. You can no longer create a canceled order. * Allow editing the client details when creating an order/quotation. * Allow editing client data when editing an order/quotation. * Improved the sample submission form; cleaned up the code a bit, validate the sequence type properly, fix HTML output, and make sure the given barcodes are checked well to make sure they are unique in the submission. /******************* * 1.3.2 * 2022-11-23 *********/ * Fixed various notices in several places. * Fixed query error when searching on order created date with a malformed syntax. * Fixed invoice requests; orders will be billed in groups no larger than 20. The grouping code did not handle clients well with multiple groups that are too large. The grouping code made a mess, and groups could exist that are simply too big, after which billing would fail. * Applied lots of fixes to the LGTC order system to make it compatible with PHP 8.1. PHP8.1 doesn't allow us to keep our query() function which is incompatible with PDO's query(). Also fixed the prepare() method, just renamed it to prep(). * Fixed calls to magic quoting related functions that no longer exist. * Fixed several issues with quotes; e.g., when handling orders. /******************* * 1.3.1 * 2020-12-15 *********/ * Added SSL state in the PROTOCOL constant and fixed all redirects to use the current protocol when redirecting. /******************* * 1.3.0 * 2020-??-?? *********/ * Orders and quotations overviews for admins now show the date the order status has last been changed. * Quotation overview for admins now show first part of quotation remarks to quickly see which quotations need action. * Removed some old LIMS Admin features; "Scan Samples for Plate", "View all sequencing plates", "Create Sample Sheet", "Print Plate Report", "Add control samples". * Removed old Admin features related to newsletters. * Removed old Admin feature "Browse original orders". * Removed old Admin feature "Import file". * ... /******************* * 1.2.5 * 2019-05-17 *********/ * Added jQuery library and jQuery UI. * Added option to send FEZ invoice requests for external orders, utilizing jQuery UI's dialog and JSON through ajax. These requests can also be sent in batches, from the order overview. * Added option to process internal orders more quickly by just clicking them from a listing, instead of having to input their ID. * The "Date" search field for browsing or searching orders, now has advanced search capabilities, by allowing searches with >, >=, <, <= and !. * Added option to download order search results. (Changelog not maintained between releases) /******************* * 1.1.5 * 2009-09-18 *********/ * Hidden FEZ report functionality. * Also internal orders processed manually are added to the queue. * When editing an order and changing the status to "Bill out" manually, it will now ask you to confirm if you want to change the status. * 2009-11-18 - Added validity information to the "Quotation ready" emails. * 2010-04-26 - Several improvements on the MakeZIP script. Files are verified a little more before being queried in the database and the status of samples no longer are updated to 7 if they haven't been assigned to a plate yet. * 2010-05-07 - If during the submission of sequence samples error messages were shown, they were not highlighted and could easily be missed. They are moved down a bit and highlighted in red. * 2010-07-08 - Universiteit Leiden customers are now asked for their SAP number and no longer their "order number". /******************* * 1.1.4 * 2008-01-31 *********/ * 2008/01/31 - Fixed bug; Submissions where not deleted completely; samples were left orphaned. * 2008/02/06 - Automated processing of an internal order now puts the order in a queue that is emptied every month. * 2008/03/05 - Added sequencing plate overview per month and per year. * 2008/04/28 - Remove linefeeds from product descriptions in the client's email. * 2008-08-19 - Added ORDER BY clause in the LIMS "Print Order report" drop down list. * 2008-11-12 - Added advanced search options on the submissions overview. * 2008-12-09 - Orders with project codes starting with a 5 will now be split in Service and Material costs. * 2009-02-09 - Sequencing plate overview now shows the number of successful and the number of failed plates. * 2009-02-09 - The ordered product overview now allows hiding inactive products. * 2009-02-09 - Clients can now also be searched by on department. * 2009-04-01 - The script that creates the client's ZIP file has been improved a little. * 2009-04-08 - When creating orders, only the active products are listed. /******************* * 1.1.3 * 2007-08-06 *********/ * Added automated processing of internal orders which have not been (partially) billed before. * Resolved slowness of various processes which included sending mail. Every mail sent out caused a 10 second delay. * Included a barcode on quotations, too. * Added automated processing of external orders which have not been (partially) billed before. * Fixed bug during zipping when only half the plate was uploaded, resulted in errors when trying to zip the rest of the plate. * Added location on plate on sample submission table when submitting 95 samples. /******************* * 1.1.2 * 2006-10-30, 2006-12-04 *********/ * When creating zips, the output log is cleared before calling the command, to prevent flooding the logs with irrelevant data when something goes wrong. * Control samples will keep the .seq files, so that later on the whole ZIP process can be reconstructed. * Remove ZIP file before creating it (LIMS admin area). * Whole-word searching for products now regards a comma as a word boundary. /******************* * 1.1.1 * 2006-09-19 *********/ * Previously checked samples should be zipped without requiring the presence of the control sample. * Quoted recipient names when sending mail, so that non-standard characters in a recipient name will not disturb the mail function. /******************* * 1.1.0 * 2006-08-24 *********/ * Links for printing FEZ reports for orders by internal customers are no longer provided. * Before compressing the sequence results, the orientation of the plate in relation to what's in the database is checked using the blast executable. /******************* * 1.0.9 * 2006-06-21 *********/ * Changed format of order forms in attempt to resolve the black signature area that some clients run into. * Fixed bug; moving to the second page while searching for orders lost the date search term (admin area). * Added an index to the orderdata table to increase search performance. * Fixed bug; when adding a order through the LIMS, backup data of the original order was not stored. * Fixed mis-formatting in order and 'quotation ready' emails. /******************* * 1.0.8 * 2006-03-27 *********/ * Updated format of plate reports to save paper. * When submitting new sequence samples, submitters can now select the option to receive the .seq files as well as the .ab1 files. * Updated the script that gathers the sequence results to include the .seq files if requested. * ZIP files containing sample sequence data are now removed when the submission is deleted from the system. * System now stores which products have been billed before. This will hint the LGTC manager when products have been billed before. * System marks billed products as such in the system. * When all products from a order have been billed, even if on separate billings, the order status is automatically updated to 'Bill Out'. * Obsolete .seq files are now removed after creating the ZIP files. /******************* * 1.0.7 * 2006-02-09 *********/ * Changed format of 'Interne Boeking' email somewhat. * Modified some columns to allow more input on productgroup and product data. /******************* * 1.0.6 * 2005-11-28 *********/ * Fixed bug; because of sorting errors, in some cases samples got on the plates in the wrong order (admin/lims area). * Stretched product name field length to 80 characters. * Fixed bug; forgot loading bottom include at product and financial overview (admin area). * Changed format of 'Quotation ready' email somewhat. * Fixed bug; created workaround for problem when using double quotes in the delivery address and having to go back while ordering. * Fixed bug; when editing an order, the KostenPlaats was not checked properly (admin area). * Fixed bug; the LIMS area did not check the KostenPlaats number correctly. * All KostenPlaatsen starting with 82 now need an additional ProjectCode. /******************* * 1.0.5 * 2005-11-01 *********/ * When creating a new submission, client now has the possibility to import a list of sample names into the fields. Also, auto generated sample names are possible. /******************* * 1.0.4 * 2005-09-28 *********/ * Fixed bug; long lines of data in emails are now wrapped properly. /******************* * 1.0.3 * 2005-09-01 *********/ * Modified format somewhat for the KostenPlaats numbers on the Order Reports to prevent confusion for the clients. * Added index to the submission_id column in the lims sample table to speed up queries for the submission overview in the admin area. /******************* * 1.0.2 * 2005-07-20 *********/ * Fixed bug; no proper sorting of the list of submissions for submissions sent at the same time. * Added functionality for sending large numbers of personalized newsletters to lists of subscribers (admin area). * Fixed bug; price corrections were always sent to the Projecten Bureau, also if exclusion from the email was requested (admin area). * The format of the FEZ reports has been changed (admin area). /******************* * 1.0.1 * 2005-07-12 *********/ * While creating new plates, the amount of control samples registrered in the system is shown (admin area). * Creating new plates is not possible if there are no control samples left in the system (admin area). * Added a button to quickly add control samples to the plate (admin area). * Sets of control samples can now quickly be created by the LGTC (admin area). * Clients will now receive email notification when their sequence results are ready, just like with the old LIMS system. * Order reports now also show the client's email address. /******************* * 1.0.0 * 2005-07-04 *********/ * Modified entire system to work with the new financial software Peoplesoft. SAP numbers, used by internal customers, are switched to KostenPlaats.ProjectCode numbers. All labels, input validations, forms etc. have been updated. * Added new user level: External manager with restricted access (admin area). * Fixed bug; date of account creation was always displaying today's date (admin area). * Completed first release of LIMS system (Michel Villerius). * Completed connection between LIMS and the order system. * Order reports now also contain the LGTC KostenPlaats.ProjectCode numbers and a few more client details. * The KostenPlaats number 8240 cannot be used without an additional ProjectCode. * Created JournaalPosten forms which are mailed to the FEZ directly. These forms replace the FEZ forms. * When clients receive the notification by email that their quotation is ready, the current LGTC terms and conditions are automatically attached. * Changed formats of 'order report'- and 'quotation ready'-emails a little. /******************* * 0.9.6 * 2005-05-02 *********/ * Fixed bug; when searching through orders using a productname and browsing to a different page, the productname criterium was lost. /******************* * 0.9.5 * 2005-03-30 *********/ * Fixed bug; adding products with a quote in their name to an order or quotation was impossible due to a JavaScript error (admin area). * Updated copyright notice on bottom page included. /******************* * 0.9.4 * 2005-03-21 *********/ * Fixed bug; client got logged out when changing his/her account and the pass- word was left untouched. /******************* * 0.9.3 * 2005-03-08 *********/ * Added option to intelligently search through orders based on groups of ordered products (admin area). * Fixed bug; when not fully completing all fields when ordering, data could have gotten mangled when sent back to the user. /******************* * 0.9.2 * 2005-02-15 *********/ * Fixed bug; manual refresh could cause a order to be created without products. * Added option to search existing orders on ordered product groups and product names (admin area). /******************* * 0.9.1 * 2005-01-27 *********/ * Added financial overview, which allows the LGTC administrator to quickly check the income over a specific year or month. * Added product order overview, which allows the LGTC administrator to quickly check the amount of orders for a specific product. /******************* * 0.9.0 * 2005-01-17 *********/ * Somewhat clearified where requested quotations that are not yet checked by the LGTC and quotations that the LGTC has finalized, can be found. This is done on both pages in the client area as well as in the 'Quotation ready' email to the customer. /******************* * 0.8.9 * 2005-01-10 *********/ * Fixed bug; printing out a preliminary quotation did not show price corrections at all (admin area). * Fixed bug; price corrections can be omitted when printing a SAP report since SAP reports could be printed partially already and a price correction should be calculated just once. /******************* * 0.8.8 * 2004-12-01 *********/ * Fixed bug; creating new products online does not always yield correct settings for the created product (admin area). * Fixed bug; removed extra space in subject of email sent when notifying clients their quotation is ready. /******************* * 0.8.7 * 2004-11-22 *********/ * Order reports now contain barcodes, which are created on the fly. The barcodes will be used to automate processing of completed orders, therefor reducing the time required to process orders even more. * When forwarding email containing client information to the LGTC, the passwords are now replaced by '