* feat: allow missing day/month/year values if CompletionDate exists as we don't always receive these from old core
* feat: make safe string as decimal nil safer too
* feat: add test
* Only blank tenancy lenght when it is invalid for tenancy type
* Update spec/services/imports/lettings_logs_import_service_spec.rb
Co-authored-by: natdeanlewissoftwire <94526761+natdeanlewissoftwire@users.noreply.github.com>
---------
Co-authored-by: natdeanlewissoftwire <94526761+natdeanlewissoftwire@users.noreply.github.com>
* Add generate_missing_answers_report task and method
* Create example report
* change task description
* refactor
* Report old form id instead of old id
* feat: ensure offered is an integer (decimal 0 was triggering validation errors)
* feat: allow decimals but clear when not integer equivalent as per new requirements
* Set user to unassigned in lettings logs if the legacy user exists but belongs to a different organisation
* Set user to unassigned in sales logs if the legacy user exists but belongs to a different organisation
* Lint
* Add imported_at columns
* Set imported at date for lettings logs
* Set imported at for sales logs
* Export logs migrated since the previous partial export
* Rename column
* rebase changes
* Re-add test
* Add unassigned user if we can't find a legacy user for a log
* Add generate_unassigned_logs_report
* Log user email address if validation fails on user import
* feat: make offered unsafe as 0.00 is an expected value
* feat: add correct refused options for sex and relat questions
* refactor: lint
* feat: use safe_string_as_decimal
* Make has_other_client_group a mandatory question
* Add a rake task to update has_other_client_group
* test and lint
* Set has_other_client group on import
* Add import report service
* Call ImportReportService from rake task
* Move generate_logs_report to import service
* Add organisations without active data coordinators to the report
* pluralize method names
* update suffixes
* some minor refactoring
remove methods from child class that replicate methods on the parent class
tidy up check for nil
remove gubbins and inline method body given only used once
* update import services for lettings and sales to import creation method
write tests to cover this
* create sales log field import service and associated spec file, with methods and tests for importing the creation method of logs that have already been imported
* update lettings log field import service and related spec to allow importing creation method of logs
* use the methods dynamically created by active record in all relevant places, removing obsolete methods in teh process.
various tests tweaked to suppor this change.
rake task from another ticket folded into this ticket to prevent merge conflicts
* rename method for ruby conventions
* update PR for altered spec
upload id now decided to be a better indicator of bulk upload status, import service amended accordingly
tests updated in line with this
* update field import services in line with import services to use upload id rather than upload method as the source of truth for how a log was created
* slight refactor to reduce nesting and dodge linter complaints
* minor amendment to log creator spec in bulk upload to use enum dynamic methods
* Remove new_data_protection_confirmation? flag
* Update schema
- drop index
- add org and user data to dpc table
* Persist org and user data at import
* Do not show invalid emails
* Persist user and org data while signing agreement
* Add migration to persist org and user data on DPC
* Rebase fix
* fix typo
* Add test as a proof of the bug we have in prod
* Refactor script to create users with unique email
* Add rake task to import missing data protection confirmations
* feat: setup to replicate failures to fix
* feat: wip test fixes
* feat: remainder of current state test fixes
* feat: set form date to past to trigger errors to fix
* feat: revert, don't want this in final diff
* feat: fix row_parser tests
* feat: sales log importer and validator fixes
* feat: remainder of test fixes
* refactor: lint
* feat: update max and add new spec
* feat: update previous years
* feat: combine identical offered questions
* feat: update tests
* feat: add test for property_number_of_times_relet
* Remove bulk_upload_lettings_logs flag
* Add spacing above actions in data sharing agreement
* Add banner
* Add model validation
* fix log component
* Fix factory
* Put validation behind feature flag
* start adapting to data protection confirmation
* Make tests more generic
* Add tests for display_organisation_attributes
* Use data_protection_confirmed? method
* Address code review
* rubocop
* Prevent access to bulk upload pages when DPC not signed
* Address PO review
* Clear period if the organisation doesn't charge for that rent period
* Clear layear if it's invalid for renewal
* remove void and mrcdates
* Remove shortfall if larger than rent
* Confirm location after creating
- Previously, when attempting to import a log that already exists in the service, the importers would update its attributes.
- In most situations we don't want this as it could override changes that the user has made to the logs.
- This change adds an option to the log import services to allow this functionality to be toggled.