Build 2.20.0.0: ============================= Release notes - Pimarc.net - Version 2.20.0.0 Release Date: Oct 10/2023 ** Bugs * Fix: Updated AOLS use report, disabled any go-to project link for any project that is marked as deleted. ** Improvements/Corrections * Added displaying of project name in the master page top banner/page title if project name is specified. * Indexed AOLS number field (in job images set) so that the "AOLS use" report query join performs faster when joining "AOLS numbers" records with "job images set" records. Build 2.19.0.0: ============================= Release notes - Pimarc.net - Version 2.19.0.0 Release Date: Aug 23/2023 ** Bugs * Corrected banked time balance calculation by removing the date filter from the calculation since the user's balance on the account depends only on the account holder and the account's starting balance. * Fixed "Get Unposted Receipts" query so that it includes prepayments (the query was excluding prepayments, when an office filter was specified, because the main query had inner joins to receipt lines). ** Improvements/Corrections * Improved UI/functionality of the Banked time feature. * Widened file path, file URL, file name/description fields to support long file names/paths. * Optimized prepayments query (located at "Get Unposted Receipts" query) if client filter is specified. ** New Features * Added functionality to allow user to "pseudo" post billing documents (ie. Mark documents as posted without actually posting them to an Accounting package). This feature is only for clients that don't use PAIM (because PAIM doesn't support the Accounting Software the client uses). Build 2.18.0.0: ============================= Release notes - Pimarc.net - Version 2.18.0.0 Release Date: June 14/2023 ** Bugs * Fix: The budget templates enumerator now filters out template files (that have been loaded) based on the sort settings defined in the application settings. This way we can comment out a template setting and the template file will not be loaded (instead of throwing an exception). * Corrected nullability constraint for ApplicationSettings.accounts_oauth_callback field to allow null values. ** Improvements/Corrections * Updated 3rd party libraries to latest versions. * Improved user experience on the "Create New Other Plan" page: Added validation/UI warning if the user fails to enter required information on the legal description form. * Changed the upper limit of project's disbursement amount from 10,000 to 1,000,000. * Updated all invoice templates so they don't display PO/WO number or description captions if there's no information provided for those fields. Build 2.17.0.0: ============================= Release notes - Pimarc.net - Version 2.17.0.0 Release Date: May 9/2023 Affected Applications: Requires PAIM.net: 1.11 or later (QBO oAuth changes) ** Known Issues/Bugs (Fixed in v2.18 release) * The budget templates enumerator doesn't filter out template files (that have been loaded) based on the sort settings defined in the application settings. Therefore, removing a template settings entry from application settings will cause the system to throw key not found exception. Temporary resolution is to either delete the budget template file from disk or re-name it with an underscore. ** Bugs * Fixed "Enter project time page/My time" pages, the staff list was not filtered correctly based on current office selection. ** Improvements/Corrections * Moved QBO OAuth callback to separate web app, removed any dependencies on QBO from Pimarc. * Changed validation logic of adding AOLS number range: Removed the restriction placed on the user of not being allowed to enter smaller numbers compared to what's already in the system (ie. older/past AOLS numbers). * Updated the "Manage AOLS numbers/stickers" admin tool so that it provides better user feedback when AOLS number ranges are added or deleted. Removed the restriction that the user cannot add past numbers. * Updated "AOLS Use" Report so that it displays office information along side each AOLS number (if the "use offices" feature is turned on). Build 2.16.0.0: ============================= Release notes - Pimarc.net - Version 2.16.0.0 Release Date: March 23/2023 ** Known Issues/Bugs (Fixed in v2.17 release) * "Enter project time page/My time" pages, the staff list was is filtered correctly based on current office selection (affects only Companies that use offices). ** Bugs * Fixed NHibernate.NonUniqueObjectException that occurred when updating existing payment terms record (Cause: Since app settings may reference this record as default payment terms therefore it is already in memory and to update it we have to use MergeUpdate instead of Update). * Corrected tag-delete Company logic so that the Count() methods count all records, not just the active ones. * Fixed the time sheet dialog so that it auto-expands correctly any departments regions that have selected users. ** Improvements/Corrections * Split view/edit permission into 2 separate permissions: view, edit for invoices/payments/refunds. * Updated "Unposted invoices" report, add client name to the report. * Updated My Time page so that the displayed time entries are within the current week's date range (as setup in Settings: Pay Week starts on). * Added validation when adding new underlying reference plan to a project, the underlying plan reference_plan_number should be required, the part field is optional. * Corrected logic when validating address information on invoices/credit memos/budget so that we are able to have duplicate region codes as long as they are unique for each country and are not part of geofabric. This is consistent with existing unique index constraint in the table. * Display project name (if there's one specified) on "Enter Time" dialog. * Updated rules for checking whether user can be deleted. Updated tag-to-delete logic when user is sent to recycle bin. * Updated rules for checking whether client can be deleted. Updated tag-to-delete logic when client is sent to recycle bin. * Updated rules for checking whether project can be deleted. Updated tag-to-delete logic when project is sent to recycle bin. * Updated rules for checking whether other plan can be deleted. Updated tag-to-delete logic when other plan is sent to recycle bin. * Redesigned recycle bin pages by improving UI, provided search options, added paging, added view details and item dependencies UI. * Updated permissions so that office administrators can now access recycle bin pages. * Added manager filter to the "Unposted time" report. * Corrected delete client logic so that the user can delete a client if the client has files attached. This is consistent with the project deletion logic. * Changed how last/next file number information is retrieved so that it doesn't throw unhandled exceptions. * Added a global setting that controls whether the user can edit documents that have been posted to an Accounting Package. * Streamlined the process of adding time so that the user can quickly add time for different users or for different projects. ** New Features * Added invoicing/budget templates that support logos that are sized by the user. * Added custom project file # generator for VanHarten. Build 2.15.0.0: ============================= Release notes - Pimarc.net - Version 2.15.0.0 Release Date: December 15/2022 ** Bugs * Updated logic when testing if a client can be tagged for deletion so we exclude any checks against our internal product tables which are not used by Pimarc anymore. * Fixed tag/restore client and delete client permanently logic so that the status field of the associated client contact records are updated correctly. * Updated get last client number query so that it properly orders the result of integer values by applying an int cast on a varchar field. * When changing existing time entry, the user was unable to take O/T time entry and reset it back to regular hours. ** Improvements/Corrections * Calendar fix: FW due/Plan due dates should not be displayed on Calendar for completed projects. * Added text limitation on the file name/description fields so the user can't type more than the field allows (Affected pages: Project plan images, Project file attachments, Other plans images, Client files). * Changes to legal description templates for ca-BC: - Added the ability to record land districts so that we can track both regional districts(geographic location) and land districts(required to be on legal description). - Updated legal description templates to display land districts in favor of regional districts. * Updated folder labels for ca-BC so they display land district instead of regional district on legal description. * Added admin page for adding/removing land districts. Build 2.14.0.0: ============================= Release notes - Pimarc.net - Version 2.14.0.0 Release Date: July 14/2022 ** Bugs * Fixed bug in the OtherPlansQuery._GetPlanLegalDescQuery(), the order by referenced plan division entity without having a reference to it in a join causing hibernate to build incorrect where clause which produced incorrect search results. ** New Features * Added legal description templates for ca-BC region. ** Improvements/Corrections * Improved layouts of legal description templates for: ca-AB. * Fix: Added missing style for displayed error message when validating county. * Updated legal description templates (for US region) to ensure they have township/municipality validation logic to enforce that the selected county contains the selected municipality or township. * Added the following Jobs/Other plans query optimizations: => Added "distinct" to the sub select so that we only return unique job ids to the outer query (less work for db engine since we eliminated duplicate job ids which might yield faster query execution). => Added explicit join to County in case we are filtering on County. * Optimized township/municipality validation queries on legal description templates. Build 2.13.0.0: ============================= Release notes - Pimarc.net - Version 2.13.0.0 Release Date: June 8/2022 ** Bugs * Fixed edit/add new report admin page so that description field allows the same number of characters as it is allowed to store in the database. * Fix: Increased file# size to match the schema (reports affected: sp_PayPeriodReports,sp_StaffExpensesReports,sp_ProjectCostAndBilledReport,sp_ProjectDisbursementCostReport). ** New Features * Added Parcel ID# (PID) field for us-PA/us-DE regions. Now the user can search on the parcel ID in Pimarc. * Added legal description templates for North Carolina region. ** Improvements/Corrections * Improved layouts of legal desc templates for: PA,DE,NJ,TX. * Updated AOLS Numbers List report so that it can display file numbers up to 30 characters. Build 2.12.0.0: ============================= Release notes - Pimarc.net - Version 2.12.0.0 Release Date: March 2/2022 ** New Features * Added banked time feature, updated pay period reports to display banked time. ** Improvements/Corrections * Added user filtering based on selected office on the "My Time" page, before the office list did not filter the user list. Corrected visibility of the office filter so that only users who can view others time can see it. * Added visual highlighting when displaying overtime or premium hours on pages that display project time. * Corrected which drill through report is selected when user is viewing Staff 1 week pay period report: Instead of displaying 2wk personal pay period report we should be displaying 1wk personal pay period report. Build 2.11.0.0: ============================= Release notes - Pimarc.net - Version 2.11.0.0 Release Date: Jan 26/2022 ** Bugs * Fix: Fixed VARGO customized report files (.rdlc files) so they reference the updated "PrlSystems.ReportEngine" assembly name otherwise an exception is thrown because the "ReportEngine" assembly doesn't exist on disk. * Fixed Pay Period report O/T calculations in 2 weeks totals summary (table that displays O/T separately from billable/NC office hours). ** New Features * Updated Township codes admin page so that the user can set display setting if a given township code should be displayed on project print label. ** Improvements/Corrections * Changed OT/Stat.OT functionality so that OT/stat OT calculations work correctly in different provinces/states: => OT: Any hours worked over the set threshold of regular work hours in a work week (set by the state/province). => OT: Any hours worked over day limit hours in a single day (ex: any time worked over 8hrs is OT) => Stat. OT: Any hours worked on a statutory holiday. => Added concept of Premium time which allows Companies to charge premium rate on a project (this doesn't affect payroll). => Updated WIP, Project cost, Project disbursement cost, and Pay Period reports * Refactored legal desc templates so that the settings for geofabric code lists are applied in one place (this way we can change of how the settings are applied in a single routine). * Added office description to user greeting to indicate to the user which office they have logged in. Build 2.10.0.0: ============================= Release notes - Pimarc.net - Version 2.10.0.0 Release Date: Nov 9/2021 Affected applications: PAIMnet requires update to later version. SRI sync client requires update to later version. ** Bugs * Fixed infinite recursion when an the application settings cannot be loaded and the application redirects user to error page which in turn throws an exception because of not loaded application settings causing error page redirect recursion. * Fixed Scheduler component (DayPilotLite lib): Fixed EventComparer.Compare() implementation which was missing a comparison test case when 2 events have the same start date but different end dates. * Fixed project variance report stored proc. query (the one that is not specific to current project scope) so that the calculations for time cost/charge and disb. cost/charge were incorrect because the job's time/disb. records were incorrectly duplicated do to a join between job and invoice header tables. * Fixed exception that occurred on print contact/client labels pages caused by not specifying template region for these labels to the templating engine. Since these templates are region agnostic, we'll pass invariant region to the templating engine. ** New Features * Use of licence encryption/protection features release. Requires updated version of PAIMnet app (see release notes for PAIMnet min. version). ** Improvements/Corrections * Updated the logic when user can change project's office setting so that if a project was posted to SRI, the office for that project cannot be changed. => To assigned the project to different office requires that the project be marked internal so it is removed from SRI (ie. it has been unposted from SRI). * Updated all code pages that have their values cached so that the changes on the code page will be visible immediately in the global cache. This will remove the unwanted de-synced state between user changes and invoicing functionality. * Updated Payment methods admin page so that the user can now specify the payment method type for user defined payment method. This will allow us to map Pimarc payment methods to user defined payment methods in the Accounting Software. * Improved order of displayed payment methods in the admin tool and receipt so that CC payment options are together. * Added new township codes designated as "NONE" for each county in Ontario. Required for plans that don't have a township. * Added flag to code townships table that determines if this township code/code alias should be displayed on project print label. Updated Ontario print template to use "display on label" setting. Build 2.9.0.0: ============================= Release notes - Pimarc.net - Version 2.9.0.0 Release Date: Oct 12/2021 Affected applications: PAIMnet requires update to later version. ** Known Issues/Bugs (Fixed in v2.10 release) * Exception that occurs on print contact/client labels pages caused by not specifying template region for these labels to the templating engine. ** Bugs * Fixed caching issue in the project/client utility classes that are used to generate new project number/client number based on cached application settings. The referenced application settings by these classes was different from the application settings stored in the global cache. * Corrected create project from budget use case (which was flawed because projects created from budgets were missing legal desc address) by redirecting the user to create new project page where the user will finish filling out project information form in order to create new project. * Fixed query execution error on my time page caused by incorrectly creating an alias to "project" entity from "project time user" entity (fix in PersistentProjectTime._CreateProjectTimeQueryCriteria() method). * Fixed ArgumentNullException error that occurred when posting project disbursements,- caused by incorrectly parsing AOLS # (which is now AOLS instance that contains the number) from control's viewstate. * Fix: Restored the functionality of loading/using default region template for a selected region that Pimarc doesn't have region specific templates implemented. ** New Features * Added support for OAuth workflow for QBO. ** Improvements/Corrections * Increased password field size from 60 to 255 characters (so that we can store longer encrypted passwords). * Added validation so that user is not allowed to delete the last legal description from a project. * Modified RenderDocument page (used to generate PDF output for PAIMnet app) so that it is more flexible (assembly name/assembly version agnostic) when parsing document type. This means that to use Pimarc v2.9+ you need to update your version of PAIMnet app (see release notes for PAIMnet min. version). * Removed encryption of viewstate key since it is not possible to do it while switching from one secret key to another (we would need a separate key for that). * Updated licence activation and application data encryption so that: => Licence maybe activated using a password (uses password derived key to encrypt/decrypt the licence) => Each licence stores secret key for data encryption that is unique per client => Encryption keys are stored in a key store in an encrypted format * Updated AOLS Schedule B report to AOLS Schedule B v2 (effective October 2021). * Corrected app startup code so that CSS styles are registered first before any initialization takes place,- this way if an exception occurs the pages still render correctly. Build 2.8.0.0: ============================= Release notes - Pimarc.net - Version 2.8.0.0 Release Date: May 19/2021 ** Known Issues/Bugs (Fixed in v2.9 release) * Query execution error occurs on my time page caused by incorrectly creating an alias to "project" entity from "project time user" entity (fix in PersistentProjectTime._CreateProjectTimeQueryCriteria() method). * ArgumentNullException error occurs when posting project disbursements,- caused by incorrectly parsing AOLS # (which is now AOLS instance that contains the number) from control's viewstate (introduced @v2.6). ** Bugs * Fixed: NullReference exception occurs on print project labels page caused by incorrectly retrieving user's office (without checking office property for null) on an account that is not associated with any office. * Fixed: On MonthlyInvoiceRevenueReport page, an exception is thrown by the get client names data source because the office parameter is not passed when querying client names. In addition, the office filter does not filter the clients list. * Fixed: For any new user account that tries to first login an InvalidCastException occurs (when loading user preferences) caused by trying to cast a string representation of default value loaded from web.config. ** Improvements/Corrections * Targeting .net standard versions of PRL libraries. * Added IIS configuration in web.config to allow users to upload larger files than 20MB. * UI improvements of the change password page. * Changed the target page (from App settings to Calendar) the user is redirected to when the application is activated since the user may not have enough permissions to view the app settings page and ends up on access denied page. * Improved implementation of MemoryCachedAuthorizationService.IsAuthorized() so that if the user context is not available instead of throwing an exception it doesn't do any resource access caching but still performs the required authorization test. => This implementation allows authorization still to take place and code dependent on authorization to continue to execute resulting in better application exception logging/reporting to users (ex: Reporting permission exceptions on Calendar page). * Improved permission exception messages displayed on the Calendar page. Build 2.7.0.0: ============================= Release notes - Pimarc.net - Version 2.7.0.0 Release Date: Apr 21/2021 ** Known Issues/Bugs (Fixed in v2.8 release) * NullReference exception occurs on print project labels page caused by incorrectly retrieving user's office (without checking office property for null) on an account that is not associated with any office. * On MonthlyInvoiceRevenueReport page, an exception is thrown by the get client names data source because the office parameter is not passed when querying client names. In addition, the office filter does not filter the clients list. * For any new user account that tries to first login an InvalidCastException occurs (when loading user preferences) caused by trying to cast a string representation of default value loaded from web.config. ** Bugs * Fixed WIPClientRevenueReport so that displayed client records that are not associated with a client group do not have drill-down (hyperlink) option * Fixed edit client page, the client group dialog would not show up after editing the client because the dialog was placed outside the template where the show dialog button resided. ** Improvements/Corrections * Added office filter to AR aging report. * Added office filter to Layouts completed report. * Added office filter to Pay Period reports. * Changed ordering of section names in the Application section list on the UserActivityLog page, they are now ordered alphabetically. * Calendar improvements: => Improved tooltip on the calendar page to be less intrusive and added user preference to turn on/off calendar tooltips. => Added user audit when making changes to the Calendar. This way we can track who and what changes are made to the Calendar. => Added "Cancel" option to edit/add calendar event dialog. => Added confirmation prompt if a user is trying to delete a calendar event. Build 2.6.0.0: ============================= Release notes - Pimarc.net - Version 2.6.0.0 Release Date: Apr 1/2021 Affected applications: SRI sync client requires update to later version. ** Bugs * Fixed exception that occurred when trying to display access denied page,- caused by footer control which was using methods only available to controls hosted on the PimarcPage. * Corrected implementation of after databound logic in the CodeDropDownList user control. * Fixed project master page so that it always displays current File # in the title and top banner when project's file number is updated. * Fix: Added office validation rules for projects associated with an office so to prevent users from changing project's office if there's time/disbursements assigned to the project (since these are office specific and must match project's office). * Fixed ArgumentOutOfRangeException when trying to add/edit existing client contact caused by country list databinding twice with incorrect selected index that is set between the databinds. * Fixed No taxes setup exception when creating an invoice from billable items in the US version. This was caused by incorrectly reading the default tax code for line item (in the US version, line items don't have tax codes, they use tax classes instead). ** New Features * Added "office administrator" role for power users that need to control system/data configuration for their office. The admin role retains full privileges over the entire application. * Access level changes for admin pages: => Changed the minimum permissions required to access the System menu from admin to supervisor so it is correct with Pimarc security docs. => Updated admin pages permission test logic so that the privilege level required to access the page matches Pimarc security docs. => Updated permissions for accessing project reports so that users from a different office cannot view these reports. => Updated Pimarc report pages so that users can only view report data from their own office. => Updated edit users pages so that office admin can only change records in his office. => Updated disbursement pages so that office admin can only change records in his office. => Updated AOLS numbers page so that office admin can only change records in his office. => Updated user activity page so that office admin can only view user activity from his office. => Updated the budget template admin pages so they work with multi-office setup. => Updated budget search/budget editing pages so they work correctly with multi-office setup. => Updated plan image type codes so they're now office specific. * Updated User Permissions Control functionality so that it works correctly with the added office admin role. * Added office filter to Project Time Breakdown Report report. * Added office filter to plan type records, now suggestions are displayed based on the correct office * Updated AOLS number assign/unassign, save/update/delete and validation logic to handle AOLS numbers with prefixes correctly. Also, corrected the AOLS reports. ** Improvements/Corrections * Changed logic for editing user accounts so that you cannot change the user name/access level/office for the root admin user. * Improved implementation of user.HasAuthority(), user.HasPrivileges() so that it works correctly with users with undefined roles. * Improved UI of project time/project disbursements pages. * Improved visual presentation of error messages. * Updated the default permissions required to view system notifications, now only users who have financial role or higher can see these. * Reduced license notification to 60 days from expiry date and show it only to users who have minimum privilege of supervisor or higher. * Corrected the order the AOLS numbers are displayed: Should be left-right, top-bottom as this is how humans read. * Improved rendering of single column codes in the auto-complete list so that longer text values are not cut-off. Build 2.5.0.1: ============================= Release notes - Pimarc.net - Version 2.5.0.1 Release Date: Feb 9/2021 ** Bugs * Fixed the county list filter, it wasn't displaying any results when the invariant region was selected. * Corrected logic for loading .resx files from satelite assemblies. ** New Features * Added "Client Name" column to project search results. The column is also configurable by the user if it should be displayed or not. * Added AOLSB report used by the OLS association. ** Improvements/Corrections * Improvements in validation experience: When entering legal desc the validation on required fields was too obtrusive, the validation message overlay was displayed covering adjacent field even if the value that was entered was correct. Resolved this problem by not using the ajax callout extender. * Corrected client # validation message so that it correctly describes the validation logic. * Externalized report template paths to app setings so that we have the ability to load different report templates for different clients. * This Pimarc version and going forward doesn't require Other plans feature to be on the licence (since it is not a base feature anymore => not required if legal desc. feature is turned off). * Improved logic and validation for loading viewstate data record during user's request. * Improved layout of legal desc. section displayed on create new project page (underlying plan/part # fields and captions were displayed visually different compared to legal desc fields). * Added specific CSS rule for acreage fields and increased size of acreage fields. * Changed implementation how localized strings are fetched: - We want to be able to override the .resx file targets for different clients (this gives us the ability to customize field captions for different clients). ** Client Customizations * Vargo: Created new legal desc templates for project search criteria/project search results/other plans search results for the invariant region. * Vargo: Create separate report templates (from existing templates) that require to display client name instead of client #. Build 2.5.0.0: ============================= Release notes - Pimarc.net - Version 2.5.0.0 Release Date: Jan 20/2021 ** Bugs * Bug fix: There are no staff visible under user departments when trying to compose a message in the notifications area (bug introduced in v2.4.0.1). * Corrected implementation of InventoryMonitor.DownloadNotifications() so that when reading the user's office id (for inventory counts) it takes into account office setting and checks the office feature on the licence. * Changed implementation of GetMunicipalAddress() to only populate the address from legal desc if there's at least one legal desc. attached to the project, otherwise there's an exception thrown because of incomplete address. If there's no legal desc associated with a project the system will default to misc field on the project address that should store the city for the address. * Fixed exception on Create Project page when copying existing project: SelectedIndex which is invalid because it does not exist in the list of items. Caused by invalid selected index, it has to be reset to -1 before re-binding to new dataset. * AOLS fixes: Corrected AOLS validation so that it takes into account user's office and ensures that newly added sticker numbers are unique across all offices. * AOLS fixes: Updated AOLS lock status/add max. range limits checks to take into account user's office. * AOLS admin tool fix: Fixed validation message for deleting AOLS number range; The validation message was incorrect because the validation logic was referencing the incorrect custom validator and therefore displayed: "invalid control" which is framework error instead of the actual validation message. * Fixed validation logic for assigning AOLS #: It wasn't validating if the AOLS # is in use when assigning an AOLS # to a plan without AOLS #. ** New Features * Added default geofabric region setting that determines which region is selected by default in job/other plan searches. * Added Delaware legal description templates. * Added Pennsylvania legal description templates. ** Improvements/Corrections * Corrected behaviour of FileManager.GetFolders(), FilesDrilldown control so that when the user browses view files page the system will not create any folders until when it is required (when a file is uploaded). * Improved alert messages to be less obtrusive and without requiring user action to dismiss the message. * Streamlined the process of adding/updating of Rolodex/Client contacts (ie. in-place editing). * Modified the default search results on the rolodex search page to list all user's rolodex contacts (which is consistent with other pages). * Updated create/update project input forms so that the project visibility option is only visible for projects in Ontario. * Changed region filter option caption from "Any" to "All" as it describes more correctly the user function. * Corrected rendering of project's legal desc on enter project time page, previously the rendered legal desc was not region specific for given project. * Corrected rendering of project's legal desc on create project tasks page, previously the rendered legal desc was not region specific for given project. * Corrected rendering of project's legal desc on create project tasks from budget template page, previously the rendered legal desc was not region specific for given project. * Improved the user experience when creating project tasks from budget template: Changed the default panel state from collapsed to expanded when displaying current/new tasks for each project. * Corrections: Updated project search UI not to display regions options if legal desc. is disabled. * Corrections: Updated toolbar not to display other plans search option if legal desc. is disabled. * Corrections: Removed roll # from project search UI. * Improved user experience when assigning AOLS # to a plan: In case of when the user tries to assign a duplicate AOLS # the application will now display a user friendly message (AOLS # in use) instead of displaying an error page. Build 2.4.0.1: ============================= Release notes - Pimarc.net - Version 2.4.0.1 Release Date: Dec 23/2020 ** Improvements/Corrections * Changed street address validation when user is creating a project/or updating existing project to use the street name in the Job table since its size is more restrictive. * Calendar changes (office installation): Appointments, announcements, vacation time, project fw due, project plan due are now filtered on current user's office. * Calendar: Fixed my todo tasks query, it was displaying completed tasks in the calendar instead of displaying only unfinished tasks. * Added functionality for overriding settings in base config with client's specific settings located in a separate file. This will allow us customize Pimarc for other clients. Build 2.4.0.0: ============================= Release notes - Pimarc.net - Version 2.4.0.0 Release Date: Dec 10/2020 ** Bugs * Fixed file deletion logic, when user selected multiple files to delete, only the file pointers were deleted, the physical files stayed on the drive. * When Office mode is enabled: Fixed NullReference exception that occurred during creation of job w/ a master job; Caused by job's master job that was passed into the Create/Copy methods without being properly initialized. ** New Features * Added new feature: Allow user to specify a URL to a file. File is not stored on Pimarc server, instead it is stored somewhere else on the web. * Added new feature: Allow user to customize project search results by selecting which columns should be displayed (scope: application level). * Added option to disable legal description functionality in the application. ** Improvements/Corrections * Improved fieldset heading styles (legend) to provide better contrast. * Other UI enhancements. * Added "Any" option to job search criteria on job search page for printing labels. * Added office filtering for Other RPlans. * Calendar: Changed the default required role (from admin to supervisor) of who can view private appointments. Build 2.3.0.0: ============================= Release notes - Pimarc.net - Version 2.3.0.0 Release Date: Sep 24/2020 ** Bugs * Fixed tooltip positioning over calendar's announcements so it doesn't go off-screen by changing tooltip's target to be current mouse pointer not the announcement element itself. * Fixed Post ALL logic when posting job's time entries,- the logic incorrectly re-posted also the previously posted time reseting the record's post date. * Fixed change job permissions dialog, the users under user level permissions were sometimes not displayed because of incorrect databinding sequence. * Fixed issue of content not displaying in master project dialog after postback. * Fixed disb. list order index when new adding new disb. record; The list order index was not set and the new disb. ended up in the middle of the list instead of at the end. * Fixed transactions filter on view client transactions page, when user reset the date range, the previous results showed based on last specified date range. * Fixed validation trigger on "Send new message" panel, the validation logic was triggered altough the user clicked the Inbox/Sent Items option. The validation should be only triggered when the user tries to send new message. * Fixed removal of contacts from a client. If the contact is associated with any job, the user should not be able to delete that contact from the client. * Fixed master to do list/daily task list pages, these were loading incorrect legal desc template to display project legal desc information. ** Performance Improvements * Upgraded to .net framework 4.8. * Re-worked theme support for Pimarc so that it is simple and utilizes bundling and minification of static assets in ASP.NET. * Minified most medium-large JS/CSS assets so they are downloaded more efficiently and quicker by the browser. * Removed dependency on PimarcWeb, moved all code to Pimarcnet. PimarcWeb is not used anymore. * Re-wrote (optimized) layout report query which was causing query time outs. ** Improvements/Corrections * Improved UI of all pages that render tasks and simplified presentation of task options * Task pages now render overdue days indicator * Removed the option of adding new municipal, townships, county geo-codes for the province of Ontario,- this will prevent users from adding non standard codes for Ontario. * Added regions filter to Municipalities/Townships code pages, this will allow user to filter correctly counties. * Changed disabled control styles. * Added notification highlighting in user's inbox, now notifications of specific type have different color. * Corrected rendering of folders on the Project Files page, if folders are relative to other folders, they will be displayed with their relative path. * Changed spelling of geocode (eliminated use of dash separator). * Changed how user searches for property with given acreage: Instead of using specific acreage value, the user now selects acreage range instead. * Provided remove contact option on client contacts page (the user doesn't have to edit contact to delete it) * Provided remove station option on project points page (the user doesn't have to edit monument station to delete it) * Moved Layout report process option configuration to code tables (changed L/O report criteria). * Added region invariant option to the following pages: Enter project time/create project tasks/create project tasks from budget template. Option useful for clients that use multi-regions. * Calendar: Changed the default required role (from admin to supervisor) of who can view private appointments. ** Security Improvements * Added AntiForgery class that validates requests against cross site request forgery attacks. * Obfuscated viewstate mechanics to make viewstate more difficult for hackers to get their hands on. ** New Features * Added storing of ARN code with municipalities. * Added partner's SRI credentials to office table in order to facilitate client's data SRI sync per office. * Added office filtering in: Budgets, timesheets, creation of project tasks. * Added office filter on document #, job/client # number generation. * Added office isolation for disbursements. Each disbursement must be associated with specific office and therefore disbursements can only be used on projects with the same office setting. * Added legal desc template for NJ/US. * Added O/T feature (calculate time cost/charge based on O/T hours). * Budget: User can switch between current billing rates and budget rates (ie. rates when budget was saved). * Budget: Added admin tool for editing/deleting budget templates. Build 2.2.0.0: ============================= Release notes - Pimarc.net - Version 2.2.0.0 Release Date: Dec 18/2019 ** Improvements/Corrections * Pimarc uses now the new TaxCalculator's tax calculation rounding rules. This allows Pimarc's tax calculation to match Peachtree's tax calculation rounding rules. * This version uses the re-worked CurrencyProvider/ICurrencyProvider model. * Updated user help text on Personal Tasks page. * Updated login page, added background image and corrected overlapping of header images. * Updated "Add new project disbursement" logic, allowed user to enter larger amount on the disbursement; increased max amount from 1,000 to 10,000. This will allow user to specify cost of more expensive disbursements such as air fare. * Corrected logic on the edit plan image page so that even if an OLS is marked as inactive in the system but has signed a given plan, the name of that OLS should show up on the page. Build 2.1.0.1: ============================= Release notes - Pimarc.net - Version 2.1.0.1 Release Date: Dec 10/2019 ** Bugs * Fix: When marking the task as completed using the Edit item template, code was updated to use PersistentPersonalTask.MarkAsCompleted() method to ensure that the task's list order is updated correctly. Build 2.1.0.0: ============================= Release notes - Pimarc.net - Version 2.1.0.0 Release Date: Dec 5/2019 ** Improvements/Corrections * UI and layout improvements, fixes (Updates mostly to data input forms and master pages that display content) * Corrected rendering of Custom fields on project pages * Corrected "Personal Tasks" functionality so that tasks that have been marked completed don't show up. * Corrected caption "Message Body" to "News Body" when editing a news item. * Updated project search page that uses Google maps, moved area search panel from the left pane onto the map to allow user to preform area searches on a maximized map window. * Updated project search form, changed toggle button for Basic/Advanced search, now this conveys clear intent that search modes can be changed by the user. ** Bugs * Fixed recursive exception caused by ExceptionHandler.ProcessException(), the handler did not check the Request object for null-reference when referencing the RawUrl property during saving the last error on current session. * Fixed "NHibernate.TransientObjectException: object references an unsaved transient instance" exception caused by passing invalid user id of "-1" when querying user permissions on the edit/add user page. This occurs only if there are no non-admin users setup in the system. * Fixed exception: "Execution failed, failed to retrieve user context, user not logged-in" when user was trying to Decline the budget or Reset budget status. Caused by service methods not being able to access current user session (missing EnableSession attribute). Build 2.0.0.0 ============================= Release notes - Pimarc.net - Version 2.0.0.0 Release Date: Nov 7/2019 * Official release.