Changes

6.2.3.0 (till 2026-01-20)

Bug Fixes

  • Some attributes would get silently ignored when processing objections or appeals.

  • Would sometimes show a roll phase in property history when it shouldn't.

  • bug(PS010): NumResults change doesn't auto-search (7f97f82)

  • bug(OB014,OB016): Property details wrongly disabled

    • If "Objection to property missing on Roll" is checked, the property details fields are disabled, because they don't apply in this case. However, if "Objection to property being on Roll" is then clicked, the other checkbox was correctly being cleared, but associated events were not run, which meant that the property detail fields remained disabled, although they should not be in that situation.
    • Now, property details fields become editable again as expected. (0a02668)
  • bug(OB012): Can't filter by all objection types

    • If blank was selected for objection types (meaning to search by any objection type), the search would revert to filtering by 'Active'.
    • Now, on initial page load, 'Active' is selected by default, but after that if blank is selected, it will search for all objections, without reverting back to 'Active'. (f4d64a5)
  • bug(home): Firefox display issue when using search filter

    • When filtering home page cards in firefox, the filtered cards would sometimes be left aligned and sometimes not.
    • Now, they are always left aligned, as on other evergreen browsers. (8917f04)
  • bug: Allow any user to search by township ext (5efc2a2)

  • bug(OB014,OB016): Property details wrongly disabled

    • If "Objection to property missing on Roll" is checked, the property details fields are disabled, because they don't apply in this case. However, if "Objection to property being on Roll" is then clicked, the other checkbox was correctly being cleared, but associated events were not run, which meant that the property detail fields remained disabled, although they should not be in that situation.
    • Now, property details fields become editable again as expected. (0a02668)
  • bug(OB014): Can't open existing objection that lacks decision (8cf9a14)

  • bug(OB014): Link existing decision to same-property objections

    • GIVEN that an additional objection is created for the same property and valuation roll THEN check if the other objections have a decision and link that decision to the new objection
    • This makes it clearer in the UI that there is only one decision, even if there are multiple objections for the same property and val roll. The objection list page (OB012) will link to the same objection from every objection created for that property/val roll.
    • The situation where multiple objections already exist and a decision is then created, resulting in all existing objections being updated to point to the decision, is already in place. (8c8d420)
  • bug(OB016): Users without perms see fields as editable

    • Now, the fields are show as editable only for users with the right to change them. (a2b4505)
  • bug(OB014): SS Name updated to NULL after selecting property (6056408)

  • bug(V034): Can't create valuation without to-do list item

    • Cause: Logic assumed that a to-do list item is needed to make a valuation. But for example if creating a new valuation from the property detail page, it does not need to be linked to a to-do list item. (0d3b8bc)
  • bug(PS010): NumResults change doesn't auto-search

Enhancements

  • Major overhaul of Objections and Appeals processing.
  • Previously some attributes would get silently ignored when processing.
  • Better checks and validation of user input before processing.

  • Add many further checks and diagnostics, e.g.

  • Ensure sectional title units are of a suitable property type.
  • Prevent blank or duplicate codes and names/descriptions/abbreviations in many lookup tables.

  • Speed up some core Planner functions.

  • Improvements to Valuation to-do list - allow filtering on Deleted properties as well.

  • enh(OB044,OB046): Add UnitsOfMeasure full text to view

    • So the description can be shown instead of an integer (86448e9)
  • enh: Add diagnostics script: properties of type "Servitude" that don't have extra info in tblServitude

    • No easy way to enforce this in the database. (7a80d47)
  • enh: Return 'soft' error code & messages when present (bb0c292)

  • enh: Generate composite key since Django doesn't allow foreign keys using multiple fields

    • i.e. composite keys.
    • Add check constraints to prevent data containing pipe characters, then use pipe character to build parts of the composite key.
    • These field also do not allow NULLs, simplifying the composite key. (d84287b)
  • enh: Add lookup table for reports with text defined in the database

    • Include static data to match existing definition (324be14)
  • enh: Add PropertyState col to to-do list grouped view

    • Allows filtering by property state (8066a37)
  • enh: Add option to diagnostics test to include Deleted properties

    • This was made while fixing the problem with property states for virtual properties that have more than one parent.
    • If the new parameter @IncludeDeletedProperties is not used, it behaves just as it did previously. (23ab248)
  • enh(C082): Add source link column to docs table

    • Clicking this link will navigate to the source form where the document was originally attached. (6d530fb)
  • enh(C236): Remove edit & del columns for completed inspections

  • Other inspection states include InspectionStateBlocked, InspectionStateApproved & InspectionStateRejected, but this only applies to completed. (e8ebb19)

  • enh: Update bootstrap default theme with smaller heading font sizes (da41d85)

  • enh(OB014,OB16,OB024,OB026,OB034,OB036,OB044,OB046): Add process warnings & standardize button positions

    • Now a warning is show below the processing buttons for valuer decisions or appeal outcomes noting that all objections or appeals should be linked to the property and roll before processing.
    • Save/Update buttons are all on the left, process buttons are all on the right. This decreases the chance of accidentally processing when intending to Save or Update. (9a01cd2)
  • enh(OB016,OB036): Show success msg after update

    • Now, when captured objections or appeals are updated, a message is shown mentioning it. Previously, the message was only shown after initial capture, but not after updates. (7d035e7)
  • enh(OB036): Expose 'outcome' button on Appeal capture page

    • Now, at the bottom of the appeal capture page, an 'Outcome' button allows immediately going to the Appeal Outcome capture for convenience. (514e978)
  • enh(OB016): Hide decision button for cancelled objections (8f2fc37)

  • enh(OB044,OB046): Add UnitsOfMeasure full text to view

    • So the description can be shown instead of an integer (6a2c4d3)
  • enh(OB044,OB046): Make Appeal number a link to the appeal (21a8d8c)

  • enh(OB024,OB026,OB046): Exact error number check

    • Remove unnecessary success message. Having two success messages was confusing in any case. Also, it was doubly confusing because the SP was returning 0 even when there were errors, so it was indicating success even after failure. (2bc78dd)
  • enh(OB016,OB034,OB036): Include property description in header

    • In some cases, there is no originating valuation data loaded in the system, so the valuation table can't show property details.
    • Now, a basic property description is included in the heading. (d1ba706)
  • enh(OB012): Objection number is now a 'contains' search

    • Previously, it would only find exact matches
    • Now, it will find any partial match (9bc7980)
  • enh(OB014): Don't auto-select extents units

    • The valuer should make this choice, not the system, to prevent accidents. (432bc7a)
  • enh(OB014,OB016): Objection details checkbox enhancements

    • A new checkbox was added "Request to have the property description corrected". Either this or "Objection to property missing on roll" must be explicitly checked to allow capturing user property details, otherwise they are not needed as the valuer has matched property details are identical.
    • Checkbox "Objection to property missing on roll" has been moved to the bottom with the other checkboxes, because it's not commonly used, so doesn't need to be at the top. (e9b4f8e)
  • enh: Always show all home page cards

    • Now, all home page cards are shown on page load, even when the mode to show only a single accordion at a time is active.
    • Also, the cards are no longer collapsible. (c4fd93a)
  • enh(OB044,OB046): Auto-expand outcome accordions having parent appeals (94a74e3)

  • enh(OB044): Link appeal outcome to parent appeal on create (826e34e)

  • enh(OB044,OB046): Add physical address street selection

    • This had not been added for the new schema, introduced 4 years ago. Now, it forwards the PropertyID of the parent decision of an appeal outcome, allowing only streets from the township extension or farm of the property to be selected. (ee0fd56)
  • enh(OB034,OB036): Tweaks to owner contact layout

    • Now the objection decision appellant owner contact information and identical non-owner content fields are visually grouped. (a4e63dd)
  • enh: Add icons to left of list accordion headers

    • Magnifying glass means it's a search related accordion
    • Lightning bold means the accordion performs an action (848d3ef)
  • enh(C213): Add Clear button for search

    • Consistency (ec3f056)
  • enh(C232): Add Clear button for search

    • Consistency (6e925a8)
  • enh(V080): Move search buttons outside of the search accordions

    • Note that these buttons and NumResults field will fall below the search accordions, not at the very bottom below the action accordions, making it easier to find them instead of having to scroll to the bottom of all accordions (in the case that multiple accordions have been expanded). (ded4025)
  • enh(OB012): Add a clear button

    • As on other list pages (12a6878)
  • enh(OB012): Move search button to outside of accordions

    • This makes it easier in the new view that only shows one accordion at a time, so users don't need to switch back to the first accordion to push the Search button. (76cc444)
  • enh(OB014,OB016): Objection to property being on roll checkbox enhancements

    • As requested by DB. It seems that the position of this checkbox causes users to click it
    • Move the checkbox to the bottom
    • Add red help text explaining clearly what it means
    • The help text becomes visible when the checkbox is checked
    • Bold and underline the most important part of the help text
    • Add horizontal rule to visually separate it from other fields (aafd607)
  • enh(PS010): 'Enter' searches form

    • Moving the 'Search' button placed it after the 'Go' button used for the CSV export, so we can no longer rely on default browser behavior for 'enter'.
    • Also, if the user uses 'enter' to select an item in the township drop-down, we don't want the enter to trigger a search.
    • Now, if the user presses 'enter' to select an item from the drop-down, only the item is selected. After that, if they press enter, the search is initiated. (33ba608)
  • enh(OB014,OB016): Get roll property description dynamically

    • Now, when selecting the property in the drop-down under "Property Details on Valuation Roll", the corresponding roll property details will be dynamically updated, without having to first save the record.
    • If "Property Description Override" is selected, it will get those details instead.
    • It also updates the Property Description fields, such as Township Ext, Parcel, Portion, etc. (eb25ae5)
  • enh(OB016): Allow setting objection to property being on roll after the fact

    • Previously, if this was set when property details had already been saved, it would not be possible to save the record (ecfd976)
  • enh(OB024,OB026): Market value decision not needed if objection to prop being on roll

    • When the objection is to the property being on the roll, the market value accordion is not expanded, because it's not needed to set a market value in this case. No valuation will result from the decision either way. (3f23e8d)
  • enh(OB026): Show affected objection numbers in message after processed decision (46a4a45)

  • enh(OB014,OB016): Tweaks to owner contact layout

    • Now the owner contact information and identical non-owner content fields are visually grouped.
    • If the objector is an owner, the non-owner contact fields are disabled, as they are not needed for owners.
    • If a non-owner is selected, the owner fields remain editable, as both sets of contacts should be captured for non-owners.
    • If non-ownser fields are populated and the type is changed to 'owner', the fields are cleared, but if the type is changed back to a non-owner, the original values are restored. (eaed752)
  • enh(OB024,OB026): Show all related objections for which a decision will be rendered

    • When creating or updating a decision, the header now shows all related objections to which the decision applies.
    • This applies only when multiple objections exist for the same property and valuation roll. In that situation, only one decision is rendered for all of them. (1b21a90)
  • enh(OB016): Add tooltip to explain disabled fields

    • These fields are disabled if a decision record exists, now the user can find out why they are disabled by hovering over them. (da4918f)
  • enh(OB016): Disallow property link change when an unprocessed decision exists

    • Now, when an unprocessed decision exists, it's no longer possible to update the property link on the original objection.
    • Senior valuers and valuer managers are still able to adjust the Property Description Override though. (73e6c80)
  • enh(PS020): Don't link to GV docs

    • The UI doesn't allow viewing GV records on V036, so the document source link was adjusted to not open this page for document code 'NV' (Section 49 Notice) (95ceba4)
  • enh(C082): Add source link column to docs table

    • Clicking this link will navigate to the source form where the document was originally attached.
  • enh(objection): Add redirect url to the first appeal for a given objection

  • enh(town_planning): Add redirect endpoint for applications

    • Given an ApplicationID, it will re-direct to the town planning view for the application type. (2017b2c)
  • enh: Use custom visual theme

    • An improved visual theme is now used by default. (85bd713)
  • enh(V020): Swap bulk Approve & Cancel button order

    • Improved consistency (502d878)
  • enh: Display full database version number, not just first three numbers (715796b)

  • enh: Move CHANGELOG from project root to user docs

  • enh: Show UI & DB version & "What's new" link in footer

    • This more detailed version information as well as the What's new page may be more useful for troubleshooting and discovering the latest features. (bdfa7d5)
  • enh: Add changelog to user docs

    • It is now available under the "Changes" tab of the main documentation (649c393)
  • enh: Show roll state as part of roll name

    • Shows the roll state in brackets to the right of roll names, helpful in situations where all rolls are shown but it may be useful for the user to know which are active and which not. (39db67e)
  • enh(V012): Add property state filter to to-do list

    • This allows viewing deleted properties associated with to-do list items, helpful because the to-do list export will also expose this but the search page previously wouldn't. (a98af43)

Bug Fixes

  • Some attributes would get silently ignored when processing objections or appeals.

  • Would sometimes show a roll phase in property history when it shouldn't.

Features

  • feat: Add is_read_only user flag

    • This allows marking a user as a read_only user using new core_user.is_read_only flag, settable also in the admin.
    • is_read_only users will see the perms assigned to them, but will not be able to make any changes. (54b0db4)

6.2.2.1 (2025-10-23)

  • Fix problem related to property state of virtual properties when there are multiple parent properties (work item 1908).

Hotfixes

  • Fix migration script for applying changes.

6.2.2.0

Bug Fixes

  • Fix error when loading inspection field sheets.

  • Correct issue where assigned user was not auto-selected when editing tasks.

  • Update search functionality to allow any user to search by township extension.

  • bug(V034): Can't create valuation without to-do list item

    • Cause: Logic assumed that a to-do list item is needed to make a valuation. But for example if creating a new valuation from the property detail page, it does not need to be linked to a to-do list item. (e8eea14)

Enhancements

  • Include property lock functionality made for City of Johannesburg demo.

  • Improve error message when region code is not set for automatic reference number generation.

  • Add icons to accordions and navbar tabs to distinguish searching and actions (lightning bolt / magnifying glass).

  • Enable HTML rendering in navbar tabs.

  • Search enhancements:

  • Add Clear button for search across multiple modules.
  • Move search buttons outside of search accordions for better usability.

  • Enhance objection handling checkboxes and related UI improvements.

  • Minor layout changes:

  • Pull "Go" button to the right in relevant actions.
  • Hide 'edit' column for non-editing users to streamline interface.

Documentation

  • Add missing screenshot to documentation.

6.2.1.0

Bug Fixes

  • bug(TPT020): Can't add missing erven to township

    • The previous fix didn't address the underlying cause, which is that the Create view was explicitly appending url parameter PropertyID=None, which would result in 'None' being bassed as a string. But the correct way to do this is not to set the parameter at all. (4311c47)
  • bug(TPT020): Can't add missing erven to township (5438efa)

  • bug: Error loading inspection field sheets

    • Cause: This was caused due to maintaining two version branches over multiple years. At one point, upstream code supporting multi-file uploads got added in the downstream version where it wouldn't work, so it was manually adjusted back to the single file version, but then when merging the two branches, git merged the old code as had a newer timestamp..
    • Now, file attachments work and multi-file attachments are supported. (82f1d9b)

Enhancements

  • Use new licencing/activation system.

  • Relax version checks:

  • Compatibility between front-end and database: only first three numbers must match, e.g. front-end version 6.2.1.7 will work with database version 6.2.1.9.
  • Licencing: only first two numbers must match. e.g. a licence token for version 6.2 will work for any version starting with "6.2....".

  • Update utilities for setting schema version in repository.

  • enh(PS020): New township establishment enabled for existing TPRE

    • Previously, the "New Township Establishment" button would only be available for Farm portions. Now, it is also available for Township Remainders.
    • For Farm portions, it sets the farm portion based on the source PropertyID.
    • For existing township remainders, it sets the Proposed Township Ext based on the source PropertyID. (24fa630)
  • enh: Improved error when region code is not set

    • Applies whenever automatic reference numbers are used (5a197df)

6.2.0.0 (2025-09-11)

  • First version using new version numbering system.

Hotfixes

  • Remove some complex check constraints that don't work during an interim valuation period (i.e. when two general valuation roll are active, and supplementaries are done against both rolls).

  • Fix handling of NULL years for sectional schemes.