timeout:"Your session expired. Sign in again to continue."
unauthenticated:"You need to sign in or sign up before continuing."
unconfirmed:"You must confirm your email address before continuing."
inactive_account:"Your account has been deactivated. Ask a data coordinator at your organisation to reactivate your account. Contact the helpdesk if you don't know who your data coordinator is."
missing_charges:"Please enter the %{sentence_fragment}. If there is no %{sentence_fragment}, please enter '0'."
related_to_missing_charge:"You must enter all these fields: basic rent, service charge, personal service charge and support charge. Please enter ‘0' for any types of charges that you don’t issue."
reasonpref:
conflict:
dont_know:"You cannot select 'Don't know' if any of the other reasonable preference reasons are also selected."
missing_charges:"Please enter the %{sentence_fragment}. If there is no %{sentence_fragment}, please enter '0'."
related_to_missing_charge:"You must enter all these fields: basic rent, service charge, personal service charge and support charge. Please enter ‘0' for any types of charges that you don’t issue."
reasonpref:
conflict:
dont_know:"You cannot select 'Don't know' if any of the other reasonable preference reasons are also selected."
@ -141,6 +141,10 @@ Full exports can only be run via a **rake task**.
<!-- Update this section when sales exports are added, as they will affect rake tasks -->
If the collection size is very large, full exports may fail due to memory issues. In such cases, it is better to batch exports into chunks of ~60,000 records and run several partial exports over multiple days. The `values_updated_at` field can help with this.
If the collection size is very large, full exports may fail due to memory issues. In such cases:
- Delete the incomplete export files from the S3 bucket.
- It is better to batch exports into chunks of ~60,000 records and run several partial exports over multiple days. The `values_updated_at` field can help with this.
- Rerun the task with more memory allocated, see 'Running Rake Tasks'.
The simplest approach is to mark a batch of logs for export each day and allow scheduled morning exports to handle them.
On CORE, we sometimes need to run a Rake task manually on one of our deployed environments.
## Rake Tasks
Rake tasks are defined in the `lib/tasks` directory of a Rails application.
## Running Rake Tasks locally
This can be done from the command line:
```bash
bundle exec rake <task>
```
## Running Rake Tasks on CORE infrastructure
### Get access to an AWS CLI
TODO docs on this
### Set up environment variables
Set the env as appropriate:
```bash
export env=prod
```
Other options are `staging` or `review-XXXX`, where `XXXX` is the review app number.
Set up the Rake Task as appropriate:
```bash
export rake_task=<task>
```
Where `<task>` is the name of the Rake task you want to run, local equivalent would be `bundle exec rake <task>`.
Set up the CPU and memory requirements for the task:
```bash
export cpu_value=1024
export memory_value=2048
```
See [the AWS documentation](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#task_size) for valid CPU and memory pairs.
This can be viewed in the AWS console by navigating to the ECS cluster specified in the environment variables, listing all tasks in the cluster, and selecting the task with the ARN printed in the previous step.
expect(parser.errors[:field_127]).toeql([I18n.t("validations.lettings.2024.bulk_upload.charges.missing_charges",sentence_fragment:"personal service charge")])
expect(parser.errors[:field_128]).toeql([I18n.t("validations.lettings.2024.bulk_upload.charges.missing_charges",sentence_fragment:"basic rent"),I18n.t("validations.lettings.2024.bulk_upload.charges.missing_charges",sentence_fragment:"service charge"),I18n.t("validations.lettings.2024.bulk_upload.charges.missing_charges",sentence_fragment:"personal service charge")])
expect(parser.errors[:field_126]).toeql([I18n.t("validations.lettings.2025.bulk_upload.charges.missing_charges",sentence_fragment:"personal service charge")])
expect(parser.errors[:field_127]).toeql([I18n.t("validations.lettings.2025.bulk_upload.charges.missing_charges",sentence_fragment:"basic rent"),I18n.t("validations.lettings.2025.bulk_upload.charges.missing_charges",sentence_fragment:"service charge"),I18n.t("validations.lettings.2025.bulk_upload.charges.missing_charges",sentence_fragment:"personal service charge")])