"""Generic error messages.""" ERROR_CODE_AUTHORIZATION = "authorization_error" ERROR_CODE_BAD_GRASS_REQUEST = "bad_grass_request_error" ERROR_CANT_DELETE_AUTOMATIC_REPORT = "cant_delete_automatic_report" ERROR_CODE_COLLABORATOR_NOT_FOUND = "collaborator_not_found" ERROR_CODE_SPLIT_NOT_FOUND = "split_not_found" ERROR_CODE_MISSING_PARAMS = "missing_params" ERROR_CODE_REPORT_NOT_FOUND = "report_not_found" ERROR_CODE_REPORT_FILE_NOT_FOUND = "report_file_not_found" ERROR_CODE_REPORT_PERIOD_RANGE_TOO_LONG = "report_period_range_too_long" ERROR_CODE_DIFFERENT_CURRENCY_FOR_PERIOD = "different_currency_for_period" ERROR_CODE_OWS_COLLABORATOR_PAYEE = "ows_collaborators_payee_error" ERROR_CODE_OWS_NOTIFICATIONS = "ows_notifications_error" ERROR_CODE_OWS_ABACUS_ACCOUNT = "ows_abacus_account_error" ERROR_CODE_OWS_ABACUS_STATE = "ows_abacus_state_error" ERROR_CODE_OWS_USERS = "ows_users_error" ERROR_CODE_OWS_ACCOUNT = "ows_account_error" ERROR_CODE_OWS_PAYEE = "ows_payee_error" ERROR_CODE_OWS_PERMISSIONS = "ows_permissions_error" ERROR_CODE_OWS_PRODUCT = "ows_product_error" ERROR_CODE_OWS_TRACK = "ows_track_error" ERROR_CODE_PROFILE_NOT_FOUND = "profile_not_found" ERROR_CODE_TRANSACTION_NOT_FOUND = "transaction_not_found" ERROR_CODE_TRANSACTION_FORBIDDEN = "transaction_not_forbidden" ERROR_CODE_RECIPIENT_NOT_FOUND = "recipient_not_found" ERROR_CODE_BAD_PARAMS = "bad_params" ERROR_CODE_WEBHOOK_SUBSCRIPTION_EXISTS = "webhook_subscription_exists" ERROR_CODE_INVALID_WEBHOOK_SUBSCRIPTION = "invalid_webhook_subscription" ERROR_CODE_TRANSFERWISE_BATCH_NOT_FOUND = "transferwise_batch_not_found" ERROR_CODE_INVALID_REPORT_IDS = "invalid_report_ids" ERROR_CODE_UNEXPECTED_CURRENCY = "unexpected_currency" ERROR_CODE_UNEXPECTED_PROFILE_TYPE = "unexpected_profile_type" ERROR_CODE_MISSING_TRACK_SPLIT_MAPPINGS = "missing_track_split_mappings" ERROR_CODE_SPLIT_VENDOR_MISMATCH = "split_vendor_mismatch" ERROR_CODE_PERIOD_CURRENCY_MISMATCH = "period_currency_mismatch" ERROR_CODE_STATEMENT_PERIOD_NOT_FOUND = "statement_period_not_found" ERROR_CODE_TRANSACTION_EXISTS_FOR_REPORT = "transaction_exists_for_report" ERROR_CODE_CANNOT_CLOSE_EMPTY_PERIOD = "cannot_close_empty_period" ERROR_CODE_NONETYPE_ACCESS_ATTEMPT = "nonetype_access_attempt" ERROR_CODE_CANNOT_DELETE_CLOSED_TRANSACTION = "cannot_delete_closed_transaction" ERROR_CODE_DP_PAYMENT_NOT_FOUND = "dp_payment_not_found" ERROR_CODE_DP_PAYMENT_NOT_APPROVED = "dp_payment_not_approved" ERROR_MESSAGE_FORBIDDEN_USER = "User is forbidden" ERROR_MESSAGE_CANT_DELETE_AUTOMATIC_REPORT = "Cannot delete automatic report" ERROR_MESSAGE_COLLABORATOR_NOT_FOUND = "Collaborator Not Found" ERROR_MESSAGE_SPLIT_NOT_FOUND = "Split Not Found" ERROR_MESSAGE_SPLIT_TYPE_INVALID = "Only track splits are supported" ERROR_MESSAGE_SPLIT_PERCENTAGE_OVER_100 = ( "At least one track split adds up to over 100%" ) ERROR_MESSAGE_MISSING_PARAMS = "Missing param(s)" ERROR_MESSAGE_REPORT_NOT_FOUND = "Report not found" ERROR_MESSAGE_REPORT_FILE_NOT_FOUND = "Report file not found" ERROR_MESSAGE_REPORT_PERIOD_RANGE_TOO_LONG = "Report period range is too long" ERROR_MESSAGE_DIFFERENT_CURRENCY_FOR_PERIOD = ( "Report currency is different for selected periods" ) ERROR_MESSAGE_PROFILE_NOT_FOUND = "Profile Not Found" ERROR_MESSAGE_TRANSACTION_NOT_FOUND = "Transaction Not Found" ERROR_MESSAGE_TRANSACTION_FORBIDDEN = "Transaction is forbidden to be modified" ERROR_MESSAGE_RECIPIENT_NOT_FOUND = "Recipient Not Found" ERROR_MESSAGE_BAD_PARAMS = "Bad params" ERROR_MESSAGE_WEBHOOK_SUBSCRIPTION_EXISTS = "Webhook subscription already exists" ERROR_MESSAGE_INVALID_WEBHOOK_SUBSCRIPTION = "Invalid webhook subscription type" ERROR_MESSAGE_TRANSFERWISE_BATCH_NOT_FOUND = "TransferWise Batch Not Found" ERROR_MESSAGE_INVALID_REPORT_IDS = "Invalid report IDs" ERROR_MESSAGE_INCOMPLETE_GRASS_HEADERS = "Incomplete Grass Headers" ERROR_MESSAGE_UNEXPECTED_CURRENCY = ( "Unexpected currency {received} (expected {expected})" ) ERROR_MESSAGE_UNEXPECTED_PROFILE_TYPE = "Unexpected profile type" ERROR_MESSAGE_SPLIT_VENDOR_MISMATCH = ( "All tracks and collaborators in the request must belong to the request's vendor" ) ERROR_MESSAGE_PERIOD_CURRENCY_MISMATCH = ( "Got a currency mismatch when calculating statement period totals." ) ERROR_MESSAGE_STATEMENT_PERIOD_NOT_FOUND = "Statement period not found." ERROR_MESSAGE_TRANSACTION_EXISTS_FOR_REPORT = "Transaction exists for report." ERROR_MESSAGE_TERMS_AND_CONDITIONS_LAST_VERSION_NOT_FOUND = ( "Latest terms and conditions not found." ) ERROR_MESSAGE_TERMS_AND_CONDITIONS_TRYING_TO_SIGN_OUTDATED_VERSION = ( "Trying to sign outdated terms and conditions." ) ERROR_MESSAGE_TERMS_AND_CONDITIONS_MUST_BE_AGREED = ( "You need to agree to the terms and conditions to proceed." ) ERROR_MESSAGE_CANNOT_CLOSE_EMPTY_PERIOD = ( "Cannot close a period containing no transactions." ) ERROR_MESSAGE_NONETYPE_ACCESS_ATTEMPT = ( "Tried to access attribute '{attr}' on NoneType." ) ERROR_MESSAGE_CANNOT_DELETE_CLOSED_TRANSACTION = ( "Cannot delete a transaction belonging to a closed period." ) ERROR_MESSAGE_DP_PAYMENT_NOT_FOUND = "DP payment not found" ERROR_MESSAGE_DP_PAYMENT_NOT_APPROVED = ( "No approved DP payments found for this statement period." ) ERROR_MESSAGE_BALANCE_CLEARING_FAILED = ( "Could not clear the collaborator balance for Direct Payments activation." ) ERROR_MESSAGE_TERMS_AND_CONDITIONS_CLIENT_NOT_PAYMENT_ELIGIBLE = ( "Client is not payment eligible." ) ERROR_MESSAGE_TERMS_AND_CONDITIONS_AGREEMENT_NO_ABACUS_STATEMENT_PERIOD = ( "No Abacus statement period found when agreeing to terms and conditions." )