From dee602db89fe29b3bb433918b30f587b11054528 Mon Sep 17 00:00:00 2001 From: Daniel Gergely <72557709+Danielgergely@users.noreply.github.com> Date: Thu, 5 Feb 2026 11:07:46 +0100 Subject: [PATCH 01/22] [T2945] REFACTOR: gift limits are now translatable (#2074) * [T2945] REFACTOR: gift limits are now translatable - REFACTOR: Added 'Gift' to the get_gitf_type_selection() method - REFACTOR: Added methods to select the value of the sponsorship gifts - REFACTOR: Added a method to convert and round funds * [T2945] REFACTOR: simplified code * [T2945] STYLE: pre-commit * [T2945] FEATURE: added frequency indicator method - FEATURE: templates using this model can now directly call this function to display 0-2 starts depending on the condition --- .../models/gift_threshold_settings.py | 18 ++++++++++++++++++ .../models/sponsorship_gift_type.py | 6 +++--- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/gift_compassion/models/gift_threshold_settings.py b/gift_compassion/models/gift_threshold_settings.py index 04ad65896..432c0e6c3 100644 --- a/gift_compassion/models/gift_threshold_settings.py +++ b/gift_compassion/models/gift_threshold_settings.py @@ -7,6 +7,7 @@ # The licence is in the file __manifest__.py # ############################################################################## +import math from odoo import fields, models @@ -32,3 +33,20 @@ class GiftThresholdSettings(models.Model): "You already have a threshold rule for this gift", ) ] + + def get_ceiling_converted_amount(self, amount, company, date): + raw_amount = self.currency_id._convert( + from_amount=amount, + to_currency=company.currency_id, + company=company, + date=date, + round=False, + ) + return f"{company.currency_id.name} {int(math.ceil(raw_amount))}" + + def get_gift_frequency_indicator(self): + if self.yearly_threshold and self.gift_frequency == 2: + return "*" + if not self.yearly_threshold and self.gift_frequency == 1: + return "**" + return "" diff --git a/sponsorship_compassion/models/sponsorship_gift_type.py b/sponsorship_compassion/models/sponsorship_gift_type.py index c90a5a921..09bce2437 100644 --- a/sponsorship_compassion/models/sponsorship_gift_type.py +++ b/sponsorship_compassion/models/sponsorship_gift_type.py @@ -12,9 +12,9 @@ class SponsorshipGiftType(models.Model): ) gmc_gift_type = fields.Selection( [ - ("Project Gift", "Project"), - ("Family Gift", "Family"), - ("Beneficiary Gift", "Participant"), + ("Project Gift", "Project Gift"), + ("Family Gift", "Family Gift"), + ("Beneficiary Gift", "Participant Gift"), ] ) gmc_attribution = fields.Selection( From 4347ff0f45d722e5328a8790ea61b20fff6b4d11 Mon Sep 17 00:00:00 2001 From: Emanuel Cino Date: Thu, 5 Feb 2026 16:23:15 +0100 Subject: [PATCH 02/22] Update translations --- gift_compassion/i18n/de.po | 872 ++++++++++++++++++++++++++++++++++ gift_compassion/i18n/fr_CH.po | 870 +++++++++++++++++++++++++++++++++ gift_compassion/i18n/it.po | 870 +++++++++++++++++++++++++++++++++ 3 files changed, 2612 insertions(+) create mode 100644 gift_compassion/i18n/de.po create mode 100644 gift_compassion/i18n/fr_CH.po create mode 100644 gift_compassion/i18n/it.po diff --git a/gift_compassion/i18n/de.po b/gift_compassion/i18n/de.po new file mode 100644 index 000000000..2762fed0e --- /dev/null +++ b/gift_compassion/i18n/de.po @@ -0,0 +1,872 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * gift_compassion +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-05 13:05+0000\n" +"PO-Revision-Date: 2026-02-05 15:08+0100\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.8\n" + +#. module: gift_compassion +#: model:ir.model,name:gift_compassion.model_recurring_contract_group +msgid "A group of contracts" +msgstr "Eine Gruppe von Verträgen" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__account_credit +msgid "Account Credit" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__account_debit +msgid "Account Debit" +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.gift_accounting_settings_form +msgid "Accounting" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_needaction +msgid "Action Needed" +msgstr "Aktion notwendig" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__amount +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_tree +msgid "Amount" +msgstr "Betrag" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__amount_us_dollars +msgid "Amount due" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__analytic +msgid "Analytic" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__analytic_tag +msgid "Analytic Tag" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_attachment_count +msgid "Attachment Count" +msgstr "# Anhänge" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__attribution +msgid "Attribution" +msgstr "" + +#. module: gift_compassion +#: model:ir.cron,cron_name:gift_compassion.process_gift_cron +msgid "Base: Auto-vacuum internal data" +msgstr "Basis: Auto-Vacuum für interne Daten" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "Birthday" +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_form +msgid "Cancel Gift" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__child_id +msgid "Child" +msgstr "" + +#. module: gift_compassion +#: model:ir.actions.act_window,name:gift_compassion.action_collect_invoices +msgid "Collect Invoices" +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_form +msgid "Collect invoices" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__company_id +msgid "Company" +msgstr "" + +#. module: gift_compassion +#: model:ir.model,name:gift_compassion.model_res_config_settings +msgid "Config Settings" +msgstr "Konfig-Einstellungen" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_collect_wizard__create_uid +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__create_uid +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__create_uid +msgid "Created by" +msgstr "Angelegt von" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_collect_wizard__create_date +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__create_date +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__create_date +msgid "Created on" +msgstr "Angelegt am" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__currency_id +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__currency_id +msgid "Currency" +msgstr "Währung" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__currency_usd +msgid "Currency Usd" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__date_partner_paid +msgid "Date Partner Paid" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__state__delivered +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_filter +#, python-format +msgid "Delivered" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_account_move__display_name +#: model:ir.model.fields,field_description:gift_compassion.field_account_move_line__display_name +#: model:ir.model.fields,field_description:gift_compassion.field_account_partial_reconcile__display_name +#: model:ir.model.fields,field_description:gift_compassion.field_generate_gift_wizard__display_name +#: model:ir.model.fields,field_description:gift_compassion.field_gift_collect_wizard__display_name +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__display_name +#: model:ir.model.fields,field_description:gift_compassion.field_recurring_contract__display_name +#: model:ir.model.fields,field_description:gift_compassion.field_recurring_contract_group__display_name +#: model:ir.model.fields,field_description:gift_compassion.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__display_name +msgid "Display Name" +msgstr "Anzeigename" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_collect_wizard__domain +msgid "Domain" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__state__draft +#, python-format +msgid "Draft" +msgstr "" + +#. module: gift_compassion +#: model:base.automation,name:gift_compassion.enable_postponed_gifts +#: model:ir.actions.server,name:gift_compassion.enable_postponed_gifts_ir_actions_server +msgid "Enable postponed gifts" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__exchange_rate +msgid "Exchange Rate" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__failed_message_ids +msgid "Failed Messages" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "Family Gift" +msgstr "Geschenk für Patenkind & Familie" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__field_office_notes +msgid "Field Office Notes" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,help:gift_compassion.field_sponsorship_gift__company_id +msgid "Field is retrieve from the associated sponsorship" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_follower_ids +msgid "Followers" +msgstr "Beobachter" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_channel_ids +msgid "Followers (Channels)" +msgstr "Beobachter (Kanäle)" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_partner_ids +msgid "Followers (Partners)" +msgstr "Beobachter (Partner)" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_account_move_line__gift_id +msgid "GMC Gift" +msgstr "" + +#. module: gift_compassion +#: model:account.account,name:gift_compassion.comp_2002_2 +msgid "GMC Gift Due" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__payment_id +msgid "GMC Payment" +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_form +msgid "" +"GMC gift payment accounting entries are disabled. (compassion accounting " +"settings)" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_id +msgid "GMC message" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__gender +msgid "Gender" +msgstr "Geschlecht" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "General" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_form +#, python-format +msgid "Gift" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__gift_attribution +msgid "Gift Attribution" +msgstr "" + +#. module: gift_compassion +#: model:ir.model,name:gift_compassion.model_gift_collect_wizard +msgid "Gift Collect Wizard" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__gift_date +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_filter +msgid "Gift Date" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__gift_frequency +msgid "Gift Frequency" +msgstr "" + +#. module: gift_compassion +#: model:ir.model,name:gift_compassion.model_generate_gift_wizard +msgid "Gift Generation Wizard" +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_form +msgid "Gift OK" +msgstr "" + +#. module: gift_compassion +#: model:ir.actions.act_window,name:gift_compassion.open_view_gift_threshold_settings +msgid "Gift Threshold Configuration" +msgstr "" + +#. module: gift_compassion +#: model:ir.model,name:gift_compassion.model_gift_threshold_settings +#: model:ir.ui.menu,name:gift_compassion.menu_gift_configuration +msgid "Gift Thresholds" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__gift_type +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_filter +msgid "Gift Type" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_res_config_settings__gift_notify_ids +msgid "Gift Undeliverable" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "Gift Undeliverable Notification" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_res_config_settings__gift_analytic_id +msgid "Gift analytic account" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_res_config_settings__gift_analytic_tag_id +msgid "Gift analytic tag" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_res_config_settings__gift_expense_account_id +msgid "Gift expense account" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__gift_type +msgid "Gift for" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_res_config_settings__gift_journal_id +msgid "Gift journal id" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__sponsorship_gift_type +msgid "Gift type" +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_sponsorship_contract_gift_form +msgid "Gifts" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__gmc_gift_id +msgid "Gmc Gift" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "Graduation/Final" +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_filter +msgid "Group By..." +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__project_suspended +msgid "Hold Gifts" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_account_move__id +#: model:ir.model.fields,field_description:gift_compassion.field_account_move_line__id +#: model:ir.model.fields,field_description:gift_compassion.field_account_partial_reconcile__id +#: model:ir.model.fields,field_description:gift_compassion.field_generate_gift_wizard__id +#: model:ir.model.fields,field_description:gift_compassion.field_gift_collect_wizard__id +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__id +#: model:ir.model.fields,field_description:gift_compassion.field_recurring_contract__id +#: model:ir.model.fields,field_description:gift_compassion.field_recurring_contract_group__id +#: model:ir.model.fields,field_description:gift_compassion.field_res_config_settings__id +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__id +msgid "ID" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,help:gift_compassion.field_sponsorship_gift__message_needaction +#: model:ir.model.fields,help:gift_compassion.field_sponsorship_gift__message_unread +msgid "If checked, new messages require your attention." +msgstr "Falls markiert, benötigen neue Nachrichten Ihre Kenntnisnahme." + +#. module: gift_compassion +#: model:ir.model.fields,help:gift_compassion.field_sponsorship_gift__message_has_error +#: model:ir.model.fields,help:gift_compassion.field_sponsorship_gift__message_has_sms_error +msgid "If checked, some messages have a delivery error." +msgstr "" +"Das Senden mancher Nachrichten ist fehlgeschlagen wenn dieses Fenster " +"angekreuzt ist." + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__state__in_progress +#, python-format +msgid "In Progress" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__instructions +msgid "Instructions" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__inverse_payment_id +msgid "Inverse move" +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_collect +msgid "Invoice Lines" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_collect_wizard__invoice_line_ids +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__invoice_line_ids +msgid "Invoice lines" +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_form +msgid "Invoiced" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "Invoices" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_is_follower +msgid "Is Follower" +msgstr "Ist Beobachter" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__is_param_set +msgid "Is Param Set" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__journal_id +msgid "Journal" +msgstr "" + +#. module: gift_compassion +#: model:ir.model,name:gift_compassion.model_account_move +msgid "Journal Entry" +msgstr "Journalbuchung" + +#. module: gift_compassion +#: model:ir.model,name:gift_compassion.model_account_move_line +msgid "Journal Item" +msgstr "Journalposten" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_account_move____last_update +#: model:ir.model.fields,field_description:gift_compassion.field_account_move_line____last_update +#: model:ir.model.fields,field_description:gift_compassion.field_account_partial_reconcile____last_update +#: model:ir.model.fields,field_description:gift_compassion.field_generate_gift_wizard____last_update +#: model:ir.model.fields,field_description:gift_compassion.field_gift_collect_wizard____last_update +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings____last_update +#: model:ir.model.fields,field_description:gift_compassion.field_recurring_contract____last_update +#: model:ir.model.fields,field_description:gift_compassion.field_recurring_contract_group____last_update +#: model:ir.model.fields,field_description:gift_compassion.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift____last_update +msgid "Last Modified on" +msgstr "Zuletzt geändert am" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_collect_wizard__write_uid +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__write_uid +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__write_uid +msgid "Last Updated by" +msgstr "Zuletzt aktualisiert durch" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_collect_wizard__write_date +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__write_date +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__write_date +msgid "Last Updated on" +msgstr "Zuletzt aktualisiert am" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_main_attachment_id +msgid "Main Attachment" +msgstr "Hauptanhänge" + +#. module: gift_compassion +#: model:ir.actions.server,name:gift_compassion.deliver_gift +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_form +msgid "Mark as delivered" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__max_amount +msgid "Max Amount" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_has_error +msgid "Message Delivery error" +msgstr "Error beim senden der Nachricht" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_ids +msgid "Messages" +msgstr "Mitteilungen" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__min_amount +msgid "Min Amount" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__name +msgid "Name" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "Neediest Families" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "Neediest Families Split" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_recurring_contract__no_birthday_invoice +msgid "No Birthday Invoice" +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.actions.act_window,help:gift_compassion.action_sponsorship_gift +msgid "No gifts." +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_filter +msgid "Not sent" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_recurring_contract__number_gifts +msgid "Number Gifts" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_needaction_counter +msgid "Number of Actions" +msgstr "Anzahl der Aktionen" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,help:gift_compassion.field_sponsorship_gift__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "Anzahl der Nachrichten, die eine Aktion erfordern" + +#. module: gift_compassion +#: model:ir.model.fields,help:gift_compassion.field_sponsorship_gift__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "Anzahl der Nachrichten mit einem Fehler beim Senden." + +#. module: gift_compassion +#: model:ir.model.fields,help:gift_compassion.field_sponsorship_gift__message_unread_counter +msgid "Number of unread messages" +msgstr "Anzahl ungelesene Nachrichten" + +#. module: gift_compassion +#: model:ir.model,name:gift_compassion.model_account_partial_reconcile +msgid "Partial Reconcile" +msgstr "Teilausgleich Offene Posten" + +#. module: gift_compassion +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__undeliverable_reason__beneficiary_exited +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__undeliverable_reason__participant_exited +msgid "Participant Exited" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__undeliverable_reason__beneficiary_exited_more_than_90_days_ago +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__undeliverable_reason__participant_exited_more_than_90_days_ago +msgid "Participant Exited More Than 90 Days Ago" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__undeliverable_reason__beneficiary_exited/whereabouts_unknown +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__undeliverable_reason__participant_exited/whereabouts_unknown +msgid "Participant Exited/Whereabouts Unknown" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "Participant Gift" +msgstr "Geschenk für Patenkind" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__partner_id +msgid "Partner" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,help:gift_compassion.field_sponsorship_gift__threshold_alert +msgid "Partner exceeded the maximum gift amount allowed" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_res_config_settings__gift_income_account_id +msgid "Payable gift account" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__state__open +#, python-format +msgid "Pending" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__date_sent +msgid "Process Date" +msgstr "" + +#. module: gift_compassion +#: model:ir.cron,name:gift_compassion.process_gift_cron +msgid "Process gifts" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__product_id +msgid "Product" +msgstr "Produkt" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__project_id +msgid "Project" +msgstr "Kinderzentrum" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "Project Gift" +msgstr "Spende für das Kinderzentrum" + +#. module: gift_compassion +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__undeliverable_reason__project_transitioned +msgid "Project Transitioned" +msgstr "" + +#. module: gift_compassion +#: model:ir.model,name:gift_compassion.model_recurring_contract +msgid "Recurring contract" +msgstr "Laufender Vertrag" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_has_sms_error +msgid "SMS Delivery error" +msgstr "" + +#. module: gift_compassion +#: model:ir.actions.server,name:gift_compassion.send_gift +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_form +msgid "Send Now" +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_filter +msgid "Sent" +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_form +msgid "Sponsor payments" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "Sponsored Child Family" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__sponsorship_id +#, python-format +msgid "Sponsorship" +msgstr "" + +#. module: gift_compassion +#: model:ir.model,name:gift_compassion.model_sponsorship_gift +msgid "Sponsorship Gift" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__sponsorship_gift_type +msgid "Sponsorship Gift Type" +msgstr "" + +#. module: gift_compassion +#: model:ir.actions.act_window,name:gift_compassion.action_sponsorship_gift +#: model:ir.ui.menu,name:gift_compassion.menu_sponsorship_gift +msgid "Sponsorship Gifts" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/contracts.py:0 +#, python-format +msgid "Sponsorship gifts" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__state +msgid "State" +msgstr "Bundesland" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_filter +msgid "Status" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__status_change_date +msgid "Status Change Date" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "Survival" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__state__suspended +#, python-format +msgid "Suspended" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,help:gift_compassion.field_recurring_contract__no_birthday_invoice +msgid "" +"The automatic birthday gift will not generate an invoice.This means a " +"birthday gift will always be sent to GMC even if we didn't register a " +"payment." +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_form +msgid "" +"This will cancel the message for GMC and put the gift in Delivered state. " +"Are you sure?" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__threshold_alert +msgid "Threshold Alert" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__threshold_alert_type +msgid "Threshold Alert Type" +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_form +msgid "To Verify" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__state__undeliverable +#, python-format +msgid "Undeliverable" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__undeliverable_reason +msgid "Undeliverable Reason" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_unread +msgid "Unread Messages" +msgstr "Ungelesene Mitteilungen" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_unread_counter +msgid "Unread Messages Counter" +msgstr "Zähler der ungelelesen Nachrichten" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__state__verify +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_filter +#, python-format +msgid "Verify" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__website_message_ids +msgid "Website Messages" +msgstr "Website Nachrichten" + +#. module: gift_compassion +#: model:ir.model.fields,help:gift_compassion.field_sponsorship_gift__website_message_ids +msgid "Website communication history" +msgstr "Website Kommunikationshistorie" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_form +msgid "Will unreconcile the payment" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__yearly_threshold +msgid "Yearly Threshold" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.constraint,message:gift_compassion.constraint_gift_threshold_settings_unique_gift_threshold +msgid "You already have a threshold rule for this gift" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/account_partial_reconcile.py:0 +#, python-format +msgid "You cannot delete the %s. It is already sent to GMC." +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "You cannot delete the %s.It is already sent to GMC." +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_collect +msgid "_Add to gift" +msgstr "" diff --git a/gift_compassion/i18n/fr_CH.po b/gift_compassion/i18n/fr_CH.po new file mode 100644 index 000000000..2dc43f77f --- /dev/null +++ b/gift_compassion/i18n/fr_CH.po @@ -0,0 +1,870 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * gift_compassion +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-05 13:05+0000\n" +"PO-Revision-Date: 2026-02-05 15:06+0100\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: fr_CH\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Poedit 3.8\n" + +#. module: gift_compassion +#: model:ir.model,name:gift_compassion.model_recurring_contract_group +msgid "A group of contracts" +msgstr "Un groupe de contrats" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__account_credit +msgid "Account Credit" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__account_debit +msgid "Account Debit" +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.gift_accounting_settings_form +msgid "Accounting" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_needaction +msgid "Action Needed" +msgstr "A besoin d'une action" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__amount +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_tree +msgid "Amount" +msgstr "Montant" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__amount_us_dollars +msgid "Amount due" +msgstr "Montant dû" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__analytic +msgid "Analytic" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__analytic_tag +msgid "Analytic Tag" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_attachment_count +msgid "Attachment Count" +msgstr "Nombre de pièces jointes" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__attribution +msgid "Attribution" +msgstr "Répartition" + +#. module: gift_compassion +#: model:ir.cron,cron_name:gift_compassion.process_gift_cron +msgid "Base: Auto-vacuum internal data" +msgstr "Base : données internes sur l'aspiration automatique" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "Birthday" +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_form +msgid "Cancel Gift" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__child_id +msgid "Child" +msgstr "Enfant" + +#. module: gift_compassion +#: model:ir.actions.act_window,name:gift_compassion.action_collect_invoices +msgid "Collect Invoices" +msgstr "Collecter les factures" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_form +msgid "Collect invoices" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__company_id +msgid "Company" +msgstr "" + +#. module: gift_compassion +#: model:ir.model,name:gift_compassion.model_res_config_settings +msgid "Config Settings" +msgstr "Paramètres de configuration" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_collect_wizard__create_uid +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__create_uid +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__create_uid +msgid "Created by" +msgstr "Créé par" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_collect_wizard__create_date +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__create_date +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__create_date +msgid "Created on" +msgstr "Créé le" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__currency_id +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__currency_id +msgid "Currency" +msgstr "Devise" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__currency_usd +msgid "Currency Usd" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__date_partner_paid +msgid "Date Partner Paid" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__state__delivered +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_filter +#, python-format +msgid "Delivered" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_account_move__display_name +#: model:ir.model.fields,field_description:gift_compassion.field_account_move_line__display_name +#: model:ir.model.fields,field_description:gift_compassion.field_account_partial_reconcile__display_name +#: model:ir.model.fields,field_description:gift_compassion.field_generate_gift_wizard__display_name +#: model:ir.model.fields,field_description:gift_compassion.field_gift_collect_wizard__display_name +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__display_name +#: model:ir.model.fields,field_description:gift_compassion.field_recurring_contract__display_name +#: model:ir.model.fields,field_description:gift_compassion.field_recurring_contract_group__display_name +#: model:ir.model.fields,field_description:gift_compassion.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__display_name +msgid "Display Name" +msgstr "Nom d'affichage" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_collect_wizard__domain +msgid "Domain" +msgstr "Domaine" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__state__draft +#, python-format +msgid "Draft" +msgstr "" + +#. module: gift_compassion +#: model:base.automation,name:gift_compassion.enable_postponed_gifts +#: model:ir.actions.server,name:gift_compassion.enable_postponed_gifts_ir_actions_server +msgid "Enable postponed gifts" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__exchange_rate +msgid "Exchange Rate" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__failed_message_ids +msgid "Failed Messages" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "Family Gift" +msgstr "Cadeau Famille" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__field_office_notes +msgid "Field Office Notes" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,help:gift_compassion.field_sponsorship_gift__company_id +msgid "Field is retrieve from the associated sponsorship" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_follower_ids +msgid "Followers" +msgstr "Abonnés" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_channel_ids +msgid "Followers (Channels)" +msgstr "Abonnés (Canaux)" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_partner_ids +msgid "Followers (Partners)" +msgstr "Abonnés (Partenaires)" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_account_move_line__gift_id +msgid "GMC Gift" +msgstr "" + +#. module: gift_compassion +#: model:account.account,name:gift_compassion.comp_2002_2 +msgid "GMC Gift Due" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__payment_id +msgid "GMC Payment" +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_form +msgid "" +"GMC gift payment accounting entries are disabled. (compassion accounting " +"settings)" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_id +msgid "GMC message" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__gender +msgid "Gender" +msgstr "Genre" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "General" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_form +#, python-format +msgid "Gift" +msgstr "Cadeau" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__gift_attribution +msgid "Gift Attribution" +msgstr "" + +#. module: gift_compassion +#: model:ir.model,name:gift_compassion.model_gift_collect_wizard +msgid "Gift Collect Wizard" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__gift_date +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_filter +msgid "Gift Date" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__gift_frequency +msgid "Gift Frequency" +msgstr "" + +#. module: gift_compassion +#: model:ir.model,name:gift_compassion.model_generate_gift_wizard +msgid "Gift Generation Wizard" +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_form +msgid "Gift OK" +msgstr "" + +#. module: gift_compassion +#: model:ir.actions.act_window,name:gift_compassion.open_view_gift_threshold_settings +msgid "Gift Threshold Configuration" +msgstr "" + +#. module: gift_compassion +#: model:ir.model,name:gift_compassion.model_gift_threshold_settings +#: model:ir.ui.menu,name:gift_compassion.menu_gift_configuration +msgid "Gift Thresholds" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__gift_type +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_filter +msgid "Gift Type" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_res_config_settings__gift_notify_ids +msgid "Gift Undeliverable" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "Gift Undeliverable Notification" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_res_config_settings__gift_analytic_id +msgid "Gift analytic account" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_res_config_settings__gift_analytic_tag_id +msgid "Gift analytic tag" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_res_config_settings__gift_expense_account_id +msgid "Gift expense account" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__gift_type +msgid "Gift for" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_res_config_settings__gift_journal_id +msgid "Gift journal id" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__sponsorship_gift_type +msgid "Gift type" +msgstr "Type de cadeau" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_sponsorship_contract_gift_form +msgid "Gifts" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__gmc_gift_id +msgid "Gmc Gift" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "Graduation/Final" +msgstr "Fin de parrainage" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_filter +msgid "Group By..." +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__project_suspended +msgid "Hold Gifts" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_account_move__id +#: model:ir.model.fields,field_description:gift_compassion.field_account_move_line__id +#: model:ir.model.fields,field_description:gift_compassion.field_account_partial_reconcile__id +#: model:ir.model.fields,field_description:gift_compassion.field_generate_gift_wizard__id +#: model:ir.model.fields,field_description:gift_compassion.field_gift_collect_wizard__id +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__id +#: model:ir.model.fields,field_description:gift_compassion.field_recurring_contract__id +#: model:ir.model.fields,field_description:gift_compassion.field_recurring_contract_group__id +#: model:ir.model.fields,field_description:gift_compassion.field_res_config_settings__id +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__id +msgid "ID" +msgstr "Identifiant" + +#. module: gift_compassion +#: model:ir.model.fields,help:gift_compassion.field_sponsorship_gift__message_needaction +#: model:ir.model.fields,help:gift_compassion.field_sponsorship_gift__message_unread +msgid "If checked, new messages require your attention." +msgstr "si elle est cochée, de nouveaux messages requièrent votre attention." + +#. module: gift_compassion +#: model:ir.model.fields,help:gift_compassion.field_sponsorship_gift__message_has_error +#: model:ir.model.fields,help:gift_compassion.field_sponsorship_gift__message_has_sms_error +msgid "If checked, some messages have a delivery error." +msgstr "Si actif, certains messages ont une erreur de livraison." + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__state__in_progress +#, python-format +msgid "In Progress" +msgstr "En cours" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__instructions +msgid "Instructions" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__inverse_payment_id +msgid "Inverse move" +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_collect +msgid "Invoice Lines" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_collect_wizard__invoice_line_ids +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__invoice_line_ids +msgid "Invoice lines" +msgstr "Lignes de factures" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_form +msgid "Invoiced" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "Invoices" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_is_follower +msgid "Is Follower" +msgstr "Est un abonné" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__is_param_set +msgid "Is Param Set" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__journal_id +msgid "Journal" +msgstr "" + +#. module: gift_compassion +#: model:ir.model,name:gift_compassion.model_account_move +msgid "Journal Entry" +msgstr "Entrée de journal" + +#. module: gift_compassion +#: model:ir.model,name:gift_compassion.model_account_move_line +msgid "Journal Item" +msgstr "Article de journal" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_account_move____last_update +#: model:ir.model.fields,field_description:gift_compassion.field_account_move_line____last_update +#: model:ir.model.fields,field_description:gift_compassion.field_account_partial_reconcile____last_update +#: model:ir.model.fields,field_description:gift_compassion.field_generate_gift_wizard____last_update +#: model:ir.model.fields,field_description:gift_compassion.field_gift_collect_wizard____last_update +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings____last_update +#: model:ir.model.fields,field_description:gift_compassion.field_recurring_contract____last_update +#: model:ir.model.fields,field_description:gift_compassion.field_recurring_contract_group____last_update +#: model:ir.model.fields,field_description:gift_compassion.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift____last_update +msgid "Last Modified on" +msgstr "Dernière modification le" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_collect_wizard__write_uid +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__write_uid +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__write_uid +msgid "Last Updated by" +msgstr "Dernière mise à jour par" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_collect_wizard__write_date +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__write_date +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__write_date +msgid "Last Updated on" +msgstr "Dernière mise à jour le" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_main_attachment_id +msgid "Main Attachment" +msgstr "Pièce jointe principale" + +#. module: gift_compassion +#: model:ir.actions.server,name:gift_compassion.deliver_gift +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_form +msgid "Mark as delivered" +msgstr "Marquer comme Transmis" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__max_amount +msgid "Max Amount" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_has_error +msgid "Message Delivery error" +msgstr "Erreur d'envoi du message" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_ids +msgid "Messages" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__min_amount +msgid "Min Amount" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__name +msgid "Name" +msgstr "Nom" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "Neediest Families" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "Neediest Families Split" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_recurring_contract__no_birthday_invoice +msgid "No Birthday Invoice" +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.actions.act_window,help:gift_compassion.action_sponsorship_gift +msgid "No gifts." +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_filter +msgid "Not sent" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_recurring_contract__number_gifts +msgid "Number Gifts" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_needaction_counter +msgid "Number of Actions" +msgstr "Nombre d'Actions" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,help:gift_compassion.field_sponsorship_gift__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "Nombre de messages demandant une action" + +#. module: gift_compassion +#: model:ir.model.fields,help:gift_compassion.field_sponsorship_gift__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "Nombre de messages avec des erreurs d'envoi" + +#. module: gift_compassion +#: model:ir.model.fields,help:gift_compassion.field_sponsorship_gift__message_unread_counter +msgid "Number of unread messages" +msgstr "Nombre de messages non lus" + +#. module: gift_compassion +#: model:ir.model,name:gift_compassion.model_account_partial_reconcile +msgid "Partial Reconcile" +msgstr "Lettrage partiel" + +#. module: gift_compassion +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__undeliverable_reason__beneficiary_exited +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__undeliverable_reason__participant_exited +msgid "Participant Exited" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__undeliverable_reason__beneficiary_exited_more_than_90_days_ago +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__undeliverable_reason__participant_exited_more_than_90_days_ago +msgid "Participant Exited More Than 90 Days Ago" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__undeliverable_reason__beneficiary_exited/whereabouts_unknown +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__undeliverable_reason__participant_exited/whereabouts_unknown +msgid "Participant Exited/Whereabouts Unknown" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "Participant Gift" +msgstr "Cadeau pour un enfant" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__partner_id +msgid "Partner" +msgstr "Partenaire" + +#. module: gift_compassion +#: model:ir.model.fields,help:gift_compassion.field_sponsorship_gift__threshold_alert +msgid "Partner exceeded the maximum gift amount allowed" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_res_config_settings__gift_income_account_id +msgid "Payable gift account" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__state__open +#, python-format +msgid "Pending" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__date_sent +msgid "Process Date" +msgstr "" + +#. module: gift_compassion +#: model:ir.cron,name:gift_compassion.process_gift_cron +msgid "Process gifts" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__product_id +msgid "Product" +msgstr "Produit" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__project_id +msgid "Project" +msgstr "Projet" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "Project Gift" +msgstr "Cadeau centre de développement de l'enfant" + +#. module: gift_compassion +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__undeliverable_reason__project_transitioned +msgid "Project Transitioned" +msgstr "" + +#. module: gift_compassion +#: model:ir.model,name:gift_compassion.model_recurring_contract +msgid "Recurring contract" +msgstr "Contrat récurrent" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_has_sms_error +msgid "SMS Delivery error" +msgstr "" + +#. module: gift_compassion +#: model:ir.actions.server,name:gift_compassion.send_gift +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_form +msgid "Send Now" +msgstr "Envoyer" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_filter +msgid "Sent" +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_form +msgid "Sponsor payments" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "Sponsored Child Family" +msgstr "Famille de l'enfant" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__sponsorship_id +#, python-format +msgid "Sponsorship" +msgstr "Parrainage" + +#. module: gift_compassion +#: model:ir.model,name:gift_compassion.model_sponsorship_gift +msgid "Sponsorship Gift" +msgstr "Cadeau de parrainage" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__sponsorship_gift_type +msgid "Sponsorship Gift Type" +msgstr "" + +#. module: gift_compassion +#: model:ir.actions.act_window,name:gift_compassion.action_sponsorship_gift +#: model:ir.ui.menu,name:gift_compassion.menu_sponsorship_gift +msgid "Sponsorship Gifts" +msgstr "Cadeaux de parrainage" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/contracts.py:0 +#, python-format +msgid "Sponsorship gifts" +msgstr "Cadeaux de parrainage" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__state +msgid "State" +msgstr "État" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_filter +msgid "Status" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__status_change_date +msgid "Status Change Date" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "Survival" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__state__suspended +#, python-format +msgid "Suspended" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,help:gift_compassion.field_recurring_contract__no_birthday_invoice +msgid "" +"The automatic birthday gift will not generate an invoice.This means a " +"birthday gift will always be sent to GMC even if we didn't register a " +"payment." +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_form +msgid "" +"This will cancel the message for GMC and put the gift in Delivered state. " +"Are you sure?" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__threshold_alert +msgid "Threshold Alert" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__threshold_alert_type +msgid "Threshold Alert Type" +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_form +msgid "To Verify" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__state__undeliverable +#, python-format +msgid "Undeliverable" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__undeliverable_reason +msgid "Undeliverable Reason" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_unread +msgid "Unread Messages" +msgstr "Messages non lus" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_unread_counter +msgid "Unread Messages Counter" +msgstr "Compteur de messages non lus" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__state__verify +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_filter +#, python-format +msgid "Verify" +msgstr "A vérifier" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__website_message_ids +msgid "Website Messages" +msgstr "Messages du site web" + +#. module: gift_compassion +#: model:ir.model.fields,help:gift_compassion.field_sponsorship_gift__website_message_ids +msgid "Website communication history" +msgstr "Historique de communication du site web" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_form +msgid "Will unreconcile the payment" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__yearly_threshold +msgid "Yearly Threshold" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.constraint,message:gift_compassion.constraint_gift_threshold_settings_unique_gift_threshold +msgid "You already have a threshold rule for this gift" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/account_partial_reconcile.py:0 +#, python-format +msgid "You cannot delete the %s. It is already sent to GMC." +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "You cannot delete the %s.It is already sent to GMC." +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_collect +msgid "_Add to gift" +msgstr "" diff --git a/gift_compassion/i18n/it.po b/gift_compassion/i18n/it.po new file mode 100644 index 000000000..3cd46c318 --- /dev/null +++ b/gift_compassion/i18n/it.po @@ -0,0 +1,870 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * gift_compassion +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-05 13:05+0000\n" +"PO-Revision-Date: 2026-02-05 15:08+0100\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.8\n" + +#. module: gift_compassion +#: model:ir.model,name:gift_compassion.model_recurring_contract_group +msgid "A group of contracts" +msgstr "Un gruppo di contratti" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__account_credit +msgid "Account Credit" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__account_debit +msgid "Account Debit" +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.gift_accounting_settings_form +msgid "Accounting" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_needaction +msgid "Action Needed" +msgstr "Azione Necessaria" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__amount +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_tree +msgid "Amount" +msgstr "Importo" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__amount_us_dollars +msgid "Amount due" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__analytic +msgid "Analytic" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__analytic_tag +msgid "Analytic Tag" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_attachment_count +msgid "Attachment Count" +msgstr "Numero allegati" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__attribution +msgid "Attribution" +msgstr "" + +#. module: gift_compassion +#: model:ir.cron,cron_name:gift_compassion.process_gift_cron +msgid "Base: Auto-vacuum internal data" +msgstr "Base: pulizia automatica dati interni" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "Birthday" +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_form +msgid "Cancel Gift" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__child_id +msgid "Child" +msgstr "" + +#. module: gift_compassion +#: model:ir.actions.act_window,name:gift_compassion.action_collect_invoices +msgid "Collect Invoices" +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_form +msgid "Collect invoices" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__company_id +msgid "Company" +msgstr "" + +#. module: gift_compassion +#: model:ir.model,name:gift_compassion.model_res_config_settings +msgid "Config Settings" +msgstr "Impostazioni di configurazione" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_collect_wizard__create_uid +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__create_uid +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__create_uid +msgid "Created by" +msgstr "Creato da" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_collect_wizard__create_date +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__create_date +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__create_date +msgid "Created on" +msgstr "Creato il" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__currency_id +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__currency_id +msgid "Currency" +msgstr "Valuta" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__currency_usd +msgid "Currency Usd" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__date_partner_paid +msgid "Date Partner Paid" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__state__delivered +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_filter +#, python-format +msgid "Delivered" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_account_move__display_name +#: model:ir.model.fields,field_description:gift_compassion.field_account_move_line__display_name +#: model:ir.model.fields,field_description:gift_compassion.field_account_partial_reconcile__display_name +#: model:ir.model.fields,field_description:gift_compassion.field_generate_gift_wizard__display_name +#: model:ir.model.fields,field_description:gift_compassion.field_gift_collect_wizard__display_name +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__display_name +#: model:ir.model.fields,field_description:gift_compassion.field_recurring_contract__display_name +#: model:ir.model.fields,field_description:gift_compassion.field_recurring_contract_group__display_name +#: model:ir.model.fields,field_description:gift_compassion.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__display_name +msgid "Display Name" +msgstr "Nome visualizzato" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_collect_wizard__domain +msgid "Domain" +msgstr "Dominio" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__state__draft +#, python-format +msgid "Draft" +msgstr "" + +#. module: gift_compassion +#: model:base.automation,name:gift_compassion.enable_postponed_gifts +#: model:ir.actions.server,name:gift_compassion.enable_postponed_gifts_ir_actions_server +msgid "Enable postponed gifts" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__exchange_rate +msgid "Exchange Rate" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__failed_message_ids +msgid "Failed Messages" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "Family Gift" +msgstr "Regalo per il bambino e la famiglia" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__field_office_notes +msgid "Field Office Notes" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,help:gift_compassion.field_sponsorship_gift__company_id +msgid "Field is retrieve from the associated sponsorship" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_channel_ids +msgid "Followers (Channels)" +msgstr "Followers (Canali)" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_partner_ids +msgid "Followers (Partners)" +msgstr "Followers (Partner)" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_account_move_line__gift_id +msgid "GMC Gift" +msgstr "" + +#. module: gift_compassion +#: model:account.account,name:gift_compassion.comp_2002_2 +msgid "GMC Gift Due" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__payment_id +msgid "GMC Payment" +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_form +msgid "" +"GMC gift payment accounting entries are disabled. (compassion accounting " +"settings)" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_id +msgid "GMC message" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__gender +msgid "Gender" +msgstr "Sesso" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "General" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_form +#, python-format +msgid "Gift" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__gift_attribution +msgid "Gift Attribution" +msgstr "" + +#. module: gift_compassion +#: model:ir.model,name:gift_compassion.model_gift_collect_wizard +msgid "Gift Collect Wizard" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__gift_date +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_filter +msgid "Gift Date" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__gift_frequency +msgid "Gift Frequency" +msgstr "" + +#. module: gift_compassion +#: model:ir.model,name:gift_compassion.model_generate_gift_wizard +msgid "Gift Generation Wizard" +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_form +msgid "Gift OK" +msgstr "" + +#. module: gift_compassion +#: model:ir.actions.act_window,name:gift_compassion.open_view_gift_threshold_settings +msgid "Gift Threshold Configuration" +msgstr "" + +#. module: gift_compassion +#: model:ir.model,name:gift_compassion.model_gift_threshold_settings +#: model:ir.ui.menu,name:gift_compassion.menu_gift_configuration +msgid "Gift Thresholds" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__gift_type +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_filter +msgid "Gift Type" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_res_config_settings__gift_notify_ids +msgid "Gift Undeliverable" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "Gift Undeliverable Notification" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_res_config_settings__gift_analytic_id +msgid "Gift analytic account" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_res_config_settings__gift_analytic_tag_id +msgid "Gift analytic tag" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_res_config_settings__gift_expense_account_id +msgid "Gift expense account" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__gift_type +msgid "Gift for" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_res_config_settings__gift_journal_id +msgid "Gift journal id" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__sponsorship_gift_type +msgid "Gift type" +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_sponsorship_contract_gift_form +msgid "Gifts" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__gmc_gift_id +msgid "Gmc Gift" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "Graduation/Final" +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_filter +msgid "Group By..." +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__project_suspended +msgid "Hold Gifts" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_account_move__id +#: model:ir.model.fields,field_description:gift_compassion.field_account_move_line__id +#: model:ir.model.fields,field_description:gift_compassion.field_account_partial_reconcile__id +#: model:ir.model.fields,field_description:gift_compassion.field_generate_gift_wizard__id +#: model:ir.model.fields,field_description:gift_compassion.field_gift_collect_wizard__id +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__id +#: model:ir.model.fields,field_description:gift_compassion.field_recurring_contract__id +#: model:ir.model.fields,field_description:gift_compassion.field_recurring_contract_group__id +#: model:ir.model.fields,field_description:gift_compassion.field_res_config_settings__id +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__id +msgid "ID" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,help:gift_compassion.field_sponsorship_gift__message_needaction +#: model:ir.model.fields,help:gift_compassion.field_sponsorship_gift__message_unread +msgid "If checked, new messages require your attention." +msgstr "Se selezionato, i nuovi messaggi richiedono la tua attenzione" + +#. module: gift_compassion +#: model:ir.model.fields,help:gift_compassion.field_sponsorship_gift__message_has_error +#: model:ir.model.fields,help:gift_compassion.field_sponsorship_gift__message_has_sms_error +msgid "If checked, some messages have a delivery error." +msgstr "Se selezionato, alcuni messaggi presentano un errore di consegna." + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__state__in_progress +#, python-format +msgid "In Progress" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__instructions +msgid "Instructions" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__inverse_payment_id +msgid "Inverse move" +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_collect +msgid "Invoice Lines" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_collect_wizard__invoice_line_ids +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__invoice_line_ids +msgid "Invoice lines" +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_form +msgid "Invoiced" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "Invoices" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_is_follower +msgid "Is Follower" +msgstr "E' Follower" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__is_param_set +msgid "Is Param Set" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__journal_id +msgid "Journal" +msgstr "" + +#. module: gift_compassion +#: model:ir.model,name:gift_compassion.model_account_move +msgid "Journal Entry" +msgstr "Registrazione contabile" + +#. module: gift_compassion +#: model:ir.model,name:gift_compassion.model_account_move_line +msgid "Journal Item" +msgstr "Voce del giornale" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_account_move____last_update +#: model:ir.model.fields,field_description:gift_compassion.field_account_move_line____last_update +#: model:ir.model.fields,field_description:gift_compassion.field_account_partial_reconcile____last_update +#: model:ir.model.fields,field_description:gift_compassion.field_generate_gift_wizard____last_update +#: model:ir.model.fields,field_description:gift_compassion.field_gift_collect_wizard____last_update +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings____last_update +#: model:ir.model.fields,field_description:gift_compassion.field_recurring_contract____last_update +#: model:ir.model.fields,field_description:gift_compassion.field_recurring_contract_group____last_update +#: model:ir.model.fields,field_description:gift_compassion.field_res_config_settings____last_update +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift____last_update +msgid "Last Modified on" +msgstr "Ultima modifica il" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_collect_wizard__write_uid +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__write_uid +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__write_uid +msgid "Last Updated by" +msgstr "Ultima modifica di" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_collect_wizard__write_date +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__write_date +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__write_date +msgid "Last Updated on" +msgstr "Ultima modifica il" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_main_attachment_id +msgid "Main Attachment" +msgstr "Allegato principale" + +#. module: gift_compassion +#: model:ir.actions.server,name:gift_compassion.deliver_gift +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_form +msgid "Mark as delivered" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__max_amount +msgid "Max Amount" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_has_error +msgid "Message Delivery error" +msgstr "Errore di consegna messaggio" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_ids +msgid "Messages" +msgstr "Messaggi" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__min_amount +msgid "Min Amount" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__name +msgid "Name" +msgstr "Nome" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "Neediest Families" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "Neediest Families Split" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_recurring_contract__no_birthday_invoice +msgid "No Birthday Invoice" +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.actions.act_window,help:gift_compassion.action_sponsorship_gift +msgid "No gifts." +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_filter +msgid "Not sent" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_recurring_contract__number_gifts +msgid "Number Gifts" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_needaction_counter +msgid "Number of Actions" +msgstr "Numero di Azioni" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,help:gift_compassion.field_sponsorship_gift__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "Numero di messaggi che richiedono un'azione" + +#. module: gift_compassion +#: model:ir.model.fields,help:gift_compassion.field_sponsorship_gift__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "Numero di messaggi con errore di consegna" + +#. module: gift_compassion +#: model:ir.model.fields,help:gift_compassion.field_sponsorship_gift__message_unread_counter +msgid "Number of unread messages" +msgstr "Numero di messaggi non letti" + +#. module: gift_compassion +#: model:ir.model,name:gift_compassion.model_account_partial_reconcile +msgid "Partial Reconcile" +msgstr "Riconciliazione parziale" + +#. module: gift_compassion +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__undeliverable_reason__beneficiary_exited +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__undeliverable_reason__participant_exited +msgid "Participant Exited" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__undeliverable_reason__beneficiary_exited_more_than_90_days_ago +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__undeliverable_reason__participant_exited_more_than_90_days_ago +msgid "Participant Exited More Than 90 Days Ago" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__undeliverable_reason__beneficiary_exited/whereabouts_unknown +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__undeliverable_reason__participant_exited/whereabouts_unknown +msgid "Participant Exited/Whereabouts Unknown" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "Participant Gift" +msgstr "Regalo per il bambino" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__partner_id +msgid "Partner" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,help:gift_compassion.field_sponsorship_gift__threshold_alert +msgid "Partner exceeded the maximum gift amount allowed" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_res_config_settings__gift_income_account_id +msgid "Payable gift account" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__state__open +#, python-format +msgid "Pending" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__date_sent +msgid "Process Date" +msgstr "" + +#. module: gift_compassion +#: model:ir.cron,name:gift_compassion.process_gift_cron +msgid "Process gifts" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__product_id +msgid "Product" +msgstr "Prodotto" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__project_id +msgid "Project" +msgstr "Progetto" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "Project Gift" +msgstr "Donazione per il centro" + +#. module: gift_compassion +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__undeliverable_reason__project_transitioned +msgid "Project Transitioned" +msgstr "" + +#. module: gift_compassion +#: model:ir.model,name:gift_compassion.model_recurring_contract +msgid "Recurring contract" +msgstr "Contratto ricorrente" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_has_sms_error +msgid "SMS Delivery error" +msgstr "" + +#. module: gift_compassion +#: model:ir.actions.server,name:gift_compassion.send_gift +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_form +msgid "Send Now" +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_filter +msgid "Sent" +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_form +msgid "Sponsor payments" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "Sponsored Child Family" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__sponsorship_id +#, python-format +msgid "Sponsorship" +msgstr "" + +#. module: gift_compassion +#: model:ir.model,name:gift_compassion.model_sponsorship_gift +msgid "Sponsorship Gift" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__sponsorship_gift_type +msgid "Sponsorship Gift Type" +msgstr "" + +#. module: gift_compassion +#: model:ir.actions.act_window,name:gift_compassion.action_sponsorship_gift +#: model:ir.ui.menu,name:gift_compassion.menu_sponsorship_gift +msgid "Sponsorship Gifts" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/contracts.py:0 +#, python-format +msgid "Sponsorship gifts" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__state +msgid "State" +msgstr "Stato" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_filter +msgid "Status" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__status_change_date +msgid "Status Change Date" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "Survival" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__state__suspended +#, python-format +msgid "Suspended" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,help:gift_compassion.field_recurring_contract__no_birthday_invoice +msgid "" +"The automatic birthday gift will not generate an invoice.This means a " +"birthday gift will always be sent to GMC even if we didn't register a " +"payment." +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_form +msgid "" +"This will cancel the message for GMC and put the gift in Delivered state. " +"Are you sure?" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__threshold_alert +msgid "Threshold Alert" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__threshold_alert_type +msgid "Threshold Alert Type" +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_form +msgid "To Verify" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__state__undeliverable +#, python-format +msgid "Undeliverable" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__undeliverable_reason +msgid "Undeliverable Reason" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_unread +msgid "Unread Messages" +msgstr "Messaggi Non Letti" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__message_unread_counter +msgid "Unread Messages Counter" +msgstr "Contatore di messsaggi non letti" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#: model:ir.model.fields.selection,name:gift_compassion.selection__sponsorship_gift__state__verify +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_filter +#, python-format +msgid "Verify" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_sponsorship_gift__website_message_ids +msgid "Website Messages" +msgstr "Messaggi sito web" + +#. module: gift_compassion +#: model:ir.model.fields,help:gift_compassion.field_sponsorship_gift__website_message_ids +msgid "Website communication history" +msgstr "Storico comunicazione sito" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_form +msgid "Will unreconcile the payment" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.fields,field_description:gift_compassion.field_gift_threshold_settings__yearly_threshold +msgid "Yearly Threshold" +msgstr "" + +#. module: gift_compassion +#: model:ir.model.constraint,message:gift_compassion.constraint_gift_threshold_settings_unique_gift_threshold +msgid "You already have a threshold rule for this gift" +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/account_partial_reconcile.py:0 +#, python-format +msgid "You cannot delete the %s. It is already sent to GMC." +msgstr "" + +#. module: gift_compassion +#: code:addons/gift_compassion/models/sponsorship_gift.py:0 +#, python-format +msgid "You cannot delete the %s.It is already sent to GMC." +msgstr "" + +#. module: gift_compassion +#: model_terms:ir.ui.view,arch_db:gift_compassion.view_gift_collect +msgid "_Add to gift" +msgstr "" From 2ba6374bca495fb43ede26badbdcc32fe204e121 Mon Sep 17 00:00:00 2001 From: davidwul Date: Wed, 11 Feb 2026 15:12:52 +0100 Subject: [PATCH 03/22] Update compassion_intervention_view.xml --- intervention_compassion/views/compassion_intervention_view.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/intervention_compassion/views/compassion_intervention_view.xml b/intervention_compassion/views/compassion_intervention_view.xml index c261155bb..a5c242614 100644 --- a/intervention_compassion/views/compassion_intervention_view.xml +++ b/intervention_compassion/views/compassion_intervention_view.xml @@ -107,6 +107,7 @@ Date: Thu, 12 Feb 2026 14:31:05 +0100 Subject: [PATCH 04/22] T2792 Ensure child protection on children page (#2059) * [FIX] Add obfuscated location to the project model * [STYLE] Add comments * [STYLE] Refactor comments * [FIX] Add timeout for the geocode API request * [FIX] Fix typos * Update child_compassion/models/project_compassion.py Co-authored-by: ecino * [T2792][FIX] Make obfuscated coord computed fields Co-authored-by: ecino * [T2792][FIX] Make the obfuscated coords computed fields * [T2792][STYLE] Add comments * [T2792][STYLE] Remove useless get method * [T2792][STYLE] Use proper randomization of coordinates * [T2792][FIX] Updates conditionning of the updates * [T2792][FIX] Add lat long 0 fallback when no data are provided * [T2793][STYLE] Modularize calls to _compute_gps_obfuscated * [T2792][FIX] Use proper compute method on the gps_obfuscated * [T2792][Refactor] Renames compute functions * FIX obfuscation --------- Co-authored-by: ecino Co-authored-by: Emanuel Cino --- child_compassion/__manifest__.py | 2 +- .../migrations/14.0.1.5.0/pre-migration.py | 23 ++++++++++ child_compassion/models/project_compassion.py | 46 +++++++++++++++++++ .../views/compassion_intervention_view.xml | 7 ++- 4 files changed, 73 insertions(+), 5 deletions(-) create mode 100644 child_compassion/migrations/14.0.1.5.0/pre-migration.py diff --git a/child_compassion/__manifest__.py b/child_compassion/__manifest__.py index de2b6c177..48a2fb002 100644 --- a/child_compassion/__manifest__.py +++ b/child_compassion/__manifest__.py @@ -29,7 +29,7 @@ # pylint: disable=C8101 { "name": "Compassion Children", - "version": "17.0.1.0.7", + "version": "17.0.1.0.8", "category": "Compassion", "author": "Compassion CH", "license": "AGPL-3", diff --git a/child_compassion/migrations/14.0.1.5.0/pre-migration.py b/child_compassion/migrations/14.0.1.5.0/pre-migration.py new file mode 100644 index 000000000..cb6a83a99 --- /dev/null +++ b/child_compassion/migrations/14.0.1.5.0/pre-migration.py @@ -0,0 +1,23 @@ +from openupgradelib import openupgrade + + +def migrate(cr, version): + if not openupgrade.column_exists( + cr, "compassion_project", "gps_latitude_obfuscated" + ): + openupgrade.logged_query( + cr, + """ + ALTER TABLE compassion_project + ADD COLUMN gps_latitude_obfuscated float, + ADD COLUMN gps_longitude_obfuscated float; + """, + ) + openupgrade.logged_query( + cr, + """ + UPDATE compassion_project + SET gps_longitude_obfuscated = TRUNC(CAST(gps_longitude AS numeric), 0), + gps_latitude_obfuscated = TRUNC(CAST(gps_latitude AS numeric), 0); +""", + ) diff --git a/child_compassion/models/project_compassion.py b/child_compassion/models/project_compassion.py index 4e1971037..6f2f998b0 100644 --- a/child_compassion/models/project_compassion.py +++ b/child_compassion/models/project_compassion.py @@ -11,6 +11,7 @@ import logging import re from datetime import datetime, timedelta +from random import random import requests @@ -85,6 +86,12 @@ class CompassionProject(models.Model): zip_code = fields.Char(readonly=True) gps_latitude = fields.Float(readonly=True) gps_longitude = fields.Float(readonly=True) + gps_latitude_obfuscated = fields.Float( + compute="_compute_gps_obfuscated", store=True + ) + gps_longitude_obfuscated = fields.Float( + compute="_compute_gps_obfuscated", store=True + ) google_link = fields.Char(readonly=True, compute="_compute_google_link") timezone = fields.Char(readonly=True, compute="_compute_timezone", store=True) cluster = fields.Char(readonly=True) @@ -516,6 +523,45 @@ def _get_materials(self): ("Plastic", "Plastic"), ] + @api.depends("gps_latitude", "gps_longitude", "closest_city") + def _compute_gps_obfuscated(self): + """ + This method calculates and stores the obfuscated coordinates + (latitude and longitude). + """ + api_key = ( + self.env["ir.config_parameter"].sudo().get_param("google_maps_api_key") + ) + base_url = "https://maps.googleapis.com/maps/api/geocode/json" + for project in self: + try: + parts = [ + project.closest_city, + project.state_province, + project.country_id.name, + ] + address_string = ", ".join(filter(None, parts)) + params = {"address": address_string, "key": api_key} + response = requests.get(base_url, params=params, timeout=3) + data = response.json() + if data["status"] == "OK": + location = data["results"][0]["geometry"]["location"] + project.gps_latitude_obfuscated = location["lat"] + project.gps_longitude_obfuscated = location["lng"] + except Exception: + # Fallback to randomized gps coords + logging.warning("Request failed", exc_info=True) + project.gps_latitude_obfuscated = ( + (int(project.gps_latitude) + random()) + if project.gps_latitude + else 0 + ) + project.gps_longitude_obfuscated = ( + (int(project.gps_longitude) + random()) + if project.gps_longitude + else 0 + ) + @api.depends("gps_longitude", "gps_latitude") def _compute_timezone(self): tf = TimezoneFinder() diff --git a/intervention_compassion/views/compassion_intervention_view.xml b/intervention_compassion/views/compassion_intervention_view.xml index a5c242614..598d47684 100644 --- a/intervention_compassion/views/compassion_intervention_view.xml +++ b/intervention_compassion/views/compassion_intervention_view.xml @@ -102,12 +102,11 @@ + readonly="1" /> Date: Mon, 16 Feb 2026 15:54:09 +0100 Subject: [PATCH 05/22] [T2987] REFACTOR: moved language detection to generator (#2076) * [T2987] REFACTOR: moved language detection to generator - REFACTOR: Moved original language detection to generator and made sure everyone can access it -> sudo() * [T2987] FIX: added 'advanced_translation' dependency to __manifest__.py --- sbc_compassion/__manifest__.py | 1 + .../models/correspondence_s2b_generator.py | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/sbc_compassion/__manifest__.py b/sbc_compassion/__manifest__.py index 93edf97df..a473a2f98 100644 --- a/sbc_compassion/__manifest__.py +++ b/sbc_compassion/__manifest__.py @@ -37,6 +37,7 @@ "website": "https://github.com/CompassionCH/compassion-modules", "depends": [ "sponsorship_compassion", + "advanced_translation", ], "external_dependencies": { "python": [ diff --git a/sbc_compassion/models/correspondence_s2b_generator.py b/sbc_compassion/models/correspondence_s2b_generator.py index 99b197a1c..84952f5e4 100644 --- a/sbc_compassion/models/correspondence_s2b_generator.py +++ b/sbc_compassion/models/correspondence_s2b_generator.py @@ -82,6 +82,23 @@ def _compute_preview(self): for generator in self: generator.preview = generator.letter_ids[:1].preview + @api.model_create_multi + def create(self, vals_list): + """ + Overwrites the default create method + """ + for vals in vals_list: + if vals.get("body") and not vals.get("language_id"): + detected_language = ( + self.env["langdetect"].sudo().detect_language(vals["body"]) + ) + if detected_language: + vals["language_id"] = detected_language.id + return super().create(vals_list) + + ########################################################################## + # VIEW CALLBACKS # + ########################################################################## @api.onchange("selection_domain") def onchange_domain(self): if self.selection_domain: From 0aade427a65ea28161788617effa02cbba8a87d8 Mon Sep 17 00:00:00 2001 From: Daniel Gergely <72557709+Danielgergely@users.noreply.github.com> Date: Mon, 16 Feb 2026 15:56:20 +0100 Subject: [PATCH 06/22] [T2986] FIX: direction is now explicitly set through message values (#2075) * [T2986] FIX: direction is now explicitly set through message values - FIX: fetch the whole action instead of only the id and set the id and direction for the message - REFACTOR: added type to super().create() in gmc_message for clarity * [T2986] STYLE: pre-commit --- message_center_compassion/models/gmc_message.py | 2 +- sbc_compassion/models/correspondence.py | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/message_center_compassion/models/gmc_message.py b/message_center_compassion/models/gmc_message.py index 45a730441..115ca69cb 100644 --- a/message_center_compassion/models/gmc_message.py +++ b/message_center_compassion/models/gmc_message.py @@ -94,7 +94,7 @@ def _compute_res_name(self): ########################################################################## @api.model_create_multi def create(self, vals_list): - messages = super().create(vals_list) + messages = super(GmcMessage, self).create(vals_list) messages.filtered("action_id.auto_process").process_messages() return messages diff --git a/sbc_compassion/models/correspondence.py b/sbc_compassion/models/correspondence.py index d1adc9581..c0efdcc50 100644 --- a/sbc_compassion/models/correspondence.py +++ b/sbc_compassion/models/correspondence.py @@ -695,12 +695,13 @@ def create_commkit(self): ) messages = self.env["gmc.message"] for letter in self: - action_id = self.env.ref("sbc_compassion.create_letter").id + action = self.env.ref("sbc_compassion.create_letter") message_vals = { - "action_id": action_id, + "action_id": action.id, "object_id": letter.id, "child_id": letter.child_id.id, "partner_id": letter.partner_id.id, + "direction": action.direction, } if ( letter.sponsorship_id.state not in ("active", "terminated") From f2795a63170e37c151918845cdbd687e8d0bc99b Mon Sep 17 00:00:00 2001 From: Daniel Gergely Date: Wed, 18 Feb 2026 08:11:17 +0100 Subject: [PATCH 07/22] [T2996] FIX: sponsor letter now have the status "read" by default - FIX: updated the Docstrings of the create method - FIX: added email_read: now() to the values which create the correspondence --- sbc_compassion/models/correspondence_s2b_generator.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/sbc_compassion/models/correspondence_s2b_generator.py b/sbc_compassion/models/correspondence_s2b_generator.py index 84952f5e4..cca05985b 100644 --- a/sbc_compassion/models/correspondence_s2b_generator.py +++ b/sbc_compassion/models/correspondence_s2b_generator.py @@ -85,7 +85,8 @@ def _compute_preview(self): @api.model_create_multi def create(self, vals_list): """ - Overwrites the default create method + Overwrites the default create method and sets the language + if not already provided """ for vals in vals_list: if vals.get("body") and not vals.get("language_id"): @@ -168,9 +169,11 @@ def generate_letters_job(self, preview_mode=False): "original_language_id": self.language_id.id, "original_text": text, "state": "Draft" if preview_mode else "Received in the system", - } - if self.image_ids: - vals["original_attachment_ids"] = [Command.clear()] + [ + "email_read": fields.Datetime.now(), + } + if self.image_ids: + vals["original_attachment_ids"] = [ + Command.clear()] + [ Command.create( { "datas": atchmt.datas, From f72a9adc64d2ff294a363b86ca31f31e8996eb36 Mon Sep 17 00:00:00 2001 From: Emanuel Cino Date: Wed, 18 Feb 2026 12:01:41 +0100 Subject: [PATCH 08/22] FIX missing file_name in letters --- sbc_compassion/models/correspondence.py | 36 +++++++++++++------------ 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/sbc_compassion/models/correspondence.py b/sbc_compassion/models/correspondence.py index c0efdcc50..38ee50d90 100644 --- a/sbc_compassion/models/correspondence.py +++ b/sbc_compassion/models/correspondence.py @@ -144,7 +144,7 @@ class Correspondence(models.Model): # 2. Attachments and scans ########################## sponsor_letter_scan = fields.Binary() - file_name = fields.Char() + file_name = fields.Char(compute="_compute_file_name", store=True) letter_format = fields.Selection( [("pdf", "pdf"), ("zip", "zip")], compute="_compute_letter_format", @@ -610,7 +610,6 @@ def create(self, vals_list): # Make sure the translation language is set correctly. letters._check_translation_language() for letter in letters: - letter.file_name = letter._get_file_name() attachment = self.env["ir.attachment"].search( [ ("res_model", "=", "correspondence"), @@ -844,21 +843,24 @@ def reactivate_letters(self, message="Project reactivated"): gmc_messages.write({"state": "new"}) gmc_messages.process_messages() - def _get_file_name(self): - self.ensure_one() - name = "" - if self.communication_type_ids.ids: - name = ( - self.communication_type_ids[0] - .with_context(lang=self.partner_id.lang) - .name - + " " - ) - name += self.child_id.local_id - if self.kit_identifier: - name += " " + self.kit_identifier - name += "." + (self.letter_format or "pdf") - return name + @api.depends( + "communication_type_ids", "child_id", "kit_identifier", "letter_format" + ) + def _compute_file_name(self): + for letter in self: + name = "" + if self.communication_type_ids.ids: + name = ( + self.communication_type_ids[0] + .with_context(lang=self.partner_id.lang) + .name + + " " + ) + name += self.child_id.local_id + if self.kit_identifier: + name += " " + self.kit_identifier + name += "." + (self.letter_format or "pdf") + letter.file_name = name def data_to_json(self, mapping_name=None): json_data = super().data_to_json(mapping_name) From ffa0186fea631ace0559757d0a27deca252d38d5 Mon Sep 17 00:00:00 2001 From: Emanuel Cino Date: Wed, 18 Feb 2026 12:07:12 +0100 Subject: [PATCH 09/22] FIX FIX missing file_name in letters --- sbc_compassion/models/correspondence.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/sbc_compassion/models/correspondence.py b/sbc_compassion/models/correspondence.py index 38ee50d90..24a5edb9c 100644 --- a/sbc_compassion/models/correspondence.py +++ b/sbc_compassion/models/correspondence.py @@ -849,17 +849,17 @@ def reactivate_letters(self, message="Project reactivated"): def _compute_file_name(self): for letter in self: name = "" - if self.communication_type_ids.ids: + if letter.communication_type_ids.ids: name = ( - self.communication_type_ids[0] - .with_context(lang=self.partner_id.lang) + letter.communication_type_ids[0] + .with_context(lang=letter.partner_id.lang) .name + " " ) - name += self.child_id.local_id - if self.kit_identifier: - name += " " + self.kit_identifier - name += "." + (self.letter_format or "pdf") + name += letter.child_id.local_id + if letter.kit_identifier: + name += " " + letter.kit_identifier + name += "." + (letter.letter_format or "pdf") letter.file_name = name def data_to_json(self, mapping_name=None): From 6b44dcaaa5b72bb4d91534bde56b5deaad5d8b3d Mon Sep 17 00:00:00 2001 From: Emanuel Cino Date: Mon, 23 Feb 2026 15:09:21 +0100 Subject: [PATCH 10/22] [FIX] transaction handling for correspondence_s2b_generator.py - Happy path should use main cursor - Only exceptions should use a new cursor in DB - Remove redundant calls --- sbc_compassion/README.rst | 28 +++++++++---------- sbc_compassion/models/correspondence.py | 8 +++--- .../models/correspondence_s2b_generator.py | 26 ++++++++--------- sbc_compassion/static/description/index.html | 8 +++--- 4 files changed, 35 insertions(+), 35 deletions(-) diff --git a/sbc_compassion/README.rst b/sbc_compassion/README.rst index 813f196d4..f160fac02 100644 --- a/sbc_compassion/README.rst +++ b/sbc_compassion/README.rst @@ -35,15 +35,15 @@ Installation To install this module, you need to install dependencies: -- requires the following libraries (names from apt-get): +- requires the following libraries (names from apt-get): - - libzbar-dev + - libzbar-dev -- requires tesseract for extracting text from PDF files (for S2B - letters scan): +- requires tesseract for extracting text from PDF files (for S2B letters + scan): - - tesseract-ocr - - tesseract-ocr-language_code (for any desired language) + - tesseract-ocr + - tesseract-ocr-language_code (for any desired language) Usage ===== @@ -56,14 +56,14 @@ Changelog 17.0.1.1.0 (2024-10-01) ----------------------- -- Replace FPDF with a QWeb report for the Sponsorship Letter. +- Replace FPDF with a QWeb report for the Sponsorship Letter. 10.0.1.2.1 (2018-11-02) ----------------------- -- Change how we send Original Language to GMC. From now on, we map it - to the translated language in Odoo, in order to avoid unnecessary - translation at the National Office. +- Change how we send Original Language to GMC. From now on, we map it to + the translated language in Odoo, in order to avoid unnecessary + translation at the National Office. Bug Tracker =========== @@ -86,10 +86,10 @@ Authors Contributors ------------ -- Emanuel Cino -- Emmanuel Mathier -- Loic Hausammann -- Emmanuel Girardin +- Emanuel Cino +- Emmanuel Mathier +- Loic Hausammann +- Emmanuel Girardin Maintainers ----------- diff --git a/sbc_compassion/models/correspondence.py b/sbc_compassion/models/correspondence.py index 24a5edb9c..378d33a9c 100644 --- a/sbc_compassion/models/correspondence.py +++ b/sbc_compassion/models/correspondence.py @@ -693,14 +693,13 @@ def create_commkit(self): datetime.date.today() ) messages = self.env["gmc.message"] + action_id = self.env.ref("sbc_compassion.create_letter").id for letter in self: - action = self.env.ref("sbc_compassion.create_letter") message_vals = { - "action_id": action.id, + "action_id": action_id, "object_id": letter.id, "child_id": letter.child_id.id, "partner_id": letter.partner_id.id, - "direction": action.direction, } if ( letter.sponsorship_id.state not in ("active", "terminated") @@ -856,7 +855,8 @@ def _compute_file_name(self): .name + " " ) - name += letter.child_id.local_id + if letter.child_id: + name += letter.child_id.local_id if letter.kit_identifier: name += " " + letter.kit_identifier name += "." + (letter.letter_format or "pdf") diff --git a/sbc_compassion/models/correspondence_s2b_generator.py b/sbc_compassion/models/correspondence_s2b_generator.py index cca05985b..d3927ed5f 100644 --- a/sbc_compassion/models/correspondence_s2b_generator.py +++ b/sbc_compassion/models/correspondence_s2b_generator.py @@ -169,11 +169,11 @@ def generate_letters_job(self, preview_mode=False): "original_language_id": self.language_id.id, "original_text": text, "state": "Draft" if preview_mode else "Received in the system", - "email_read": fields.Datetime.now(), - } - if self.image_ids: - vals["original_attachment_ids"] = [ - Command.clear()] + [ + "email_read": fields.Datetime.now(), + "generator_id": self.id, + } + if self.image_ids: + vals["original_attachment_ids"] = [Command.clear()] + [ Command.create( { "datas": atchmt.datas, @@ -183,14 +183,14 @@ def generate_letters_job(self, preview_mode=False): ) for atchmt in self.image_ids ] - letter = self.letter_ids.filtered( - lambda c, _sp=sponsorship: c.sponsorship_id == _sp - ) - if letter: - letter.write(vals) - else: - letter = letters.create(vals) - letters += letter + letter = self.letter_ids.filtered( + lambda c, _sp=sponsorship: c.sponsorship_id == _sp + ) + if letter: + letter.write(vals) + else: + letter = letters.create(vals) + letters += letter letters.create_text_boxes() self.write({"letter_ids": [Command.set(letters.ids)]}) if not preview_mode: diff --git a/sbc_compassion/static/description/index.html b/sbc_compassion/static/description/index.html index a639bee35..2e8b13b7e 100644 --- a/sbc_compassion/static/description/index.html +++ b/sbc_compassion/static/description/index.html @@ -399,8 +399,8 @@

Installation

  • libzbar-dev
  • -
  • requires tesseract for extracting text from PDF files (for S2B -letters scan): @@ -447,8 +447,7 @@

    Configuration

    Settings -> General Settings -> Compassion -> Message Center and set the following:
    • connect_gpid: Your GPA ID for using GMC message services
    • -
    • connect_gp_name: Your GPA name for using GMC message -services
    • +
    • connect_gp_name: Your GPA name for using GMC message services
    • connect_api_key: API key for using GMC message services
    • connect_client: Username for token requests
    • connect_secret: Password for token requests
    • @@ -478,16 +477,15 @@

      Usage

      outgoing message queue through the Message Center menu. They can also manually trigger the sending of queued messages if needed.
    • Receiving Messages: Listens for incoming messages from Compassion -International and processes them accordingly. GMC Managers can -monitor incoming messages in real-time through the -Incoming Messages view, where they can see the status and details -of each message.
    • -
    • Message Management: Provides an interface for viewing and -managing the message queues. GMC Managers have access to the -Message Queue dashboard, which displays both incoming and -outgoing messages. They can filter, search, and sort messages based -on various criteria. Additionally, they can retry failed messages, -delete unnecessary ones, and view detailed logs for troubleshooting.
    • +International and processes them accordingly. GMC Managers can monitor +incoming messages in real-time through the Incoming Messages view, +where they can see the status and details of each message. +
    • Message Management: Provides an interface for viewing and managing +the message queues. GMC Managers have access to the Message Queue +dashboard, which displays both incoming and outgoing messages. They +can filter, search, and sort messages based on various criteria. +Additionally, they can retry failed messages, delete unnecessary ones, +and view detailed logs for troubleshooting.

    This module ensures that your Odoo system stays in sync with Compassion International, facilitating smooth and efficient communication.

    diff --git a/onramp_simulator/README.rst b/onramp_simulator/README.rst index 28913d6fd..88e829c4c 100644 --- a/onramp_simulator/README.rst +++ b/onramp_simulator/README.rst @@ -51,8 +51,8 @@ Authors Contributors ------------ -- Emanuel Cino -- Quentin Gigon +- Emanuel Cino +- Quentin Gigon Maintainers ----------- diff --git a/partner_communication_compassion/README.rst b/partner_communication_compassion/README.rst index 9ae7198bd..8f880a743 100644 --- a/partner_communication_compassion/README.rst +++ b/partner_communication_compassion/README.rst @@ -30,8 +30,8 @@ communication templates. Features -------- -- **Communication Generation**: Automatically generate and send - communications based on predefined templates. +- **Communication Generation**: Automatically generate and send + communications based on predefined templates. **Table of contents** diff --git a/partner_communication_compassion/models/compassion_project.py b/partner_communication_compassion/models/compassion_project.py index ef4203a8f..8b261d366 100644 --- a/partner_communication_compassion/models/compassion_project.py +++ b/partner_communication_compassion/models/compassion_project.py @@ -23,7 +23,7 @@ def reactivate_project(self): Inherit reactivation to trigger 'FCP Suspension Follow Up' """ # 1. Execute original logic - res = super(CompassionProject, self).reactivate_project() + res = super().reactivate_project() # 2. Trigger the communication self._trigger_communication("project_suspension_follow_up") diff --git a/partner_communication_reminder/README.rst b/partner_communication_reminder/README.rst index 0e75b64e6..71a8ba8ca 100644 --- a/partner_communication_reminder/README.rst +++ b/partner_communication_reminder/README.rst @@ -56,10 +56,10 @@ Authors Contributors ------------ -- \`Compassion CH \`: +- \`Compassion CH \`: - - Simon Gonzalez - - Emanuel Cino + - Simon Gonzalez + - Emanuel Cino Maintainers ----------- diff --git a/partner_communication_revision/README.rst b/partner_communication_revision/README.rst index ef08f52c3..24d330821 100644 --- a/partner_communication_revision/README.rst +++ b/partner_communication_revision/README.rst @@ -35,7 +35,7 @@ Installation You need to add regex library -- sudo pip install regex +- sudo pip install regex Usage ===== @@ -45,9 +45,9 @@ Go into communication rules (config) in order to edit translations. Known issues / Roadmap ====================== -- Make javascript widgets to ease the editing process -- Make possible to use global keywords across the templates -- Improve usability +- Make javascript widgets to ease the editing process +- Make possible to use global keywords across the templates +- Improve usability Bug Tracker =========== @@ -70,7 +70,7 @@ Authors Contributors ------------ -- Emanuel Cino +- Emanuel Cino Maintainers ----------- diff --git a/partner_salutation/README.rst b/partner_salutation/README.rst index 68667565c..6dc5d06e3 100644 --- a/partner_salutation/README.rst +++ b/partner_salutation/README.rst @@ -59,7 +59,7 @@ Authors Contributors ------------ -- Emanuel Cino +- Emanuel Cino Maintainers ----------- diff --git a/partner_search_fuzzy/README.rst b/partner_search_fuzzy/README.rst index df384026b..b4f71f676 100644 --- a/partner_search_fuzzy/README.rst +++ b/partner_search_fuzzy/README.rst @@ -66,7 +66,7 @@ Authors Contributors ------------ -- Emanuel Cino +- Emanuel Cino Maintainers ----------- diff --git a/sponsorship_compassion/README.rst b/sponsorship_compassion/README.rst index c293044b7..13f66fdb6 100644 --- a/sponsorship_compassion/README.rst +++ b/sponsorship_compassion/README.rst @@ -41,20 +41,20 @@ a projects will be cancelled. If you want to change sponsorship with a fund donation, you can add the following key-value in the System Parameters: -- sponsorship_compassion.suspend_product_id : product_id +- sponsorship_compassion.suspend_product_id : product_id Usage ===== To use this module, you need to: -- go to Sponsorship -> Sponsorships +- go to Sponsorship -> Sponsorships Known issues / Roadmap ====================== -- Tests for R4 : test the hold states when sending commitments to GMC -- Test end sponsorship wizard +- Tests for R4 : test the hold states when sending commitments to GMC +- Test end sponsorship wizard Bug Tracker =========== @@ -77,9 +77,9 @@ Authors Contributors ------------ -- Cyril Sester -- Emanuel Cino -- Quentin Gigon +- Cyril Sester +- Emanuel Cino +- Quentin Gigon Maintainers ----------- diff --git a/sponsorship_sub_management/README.rst b/sponsorship_sub_management/README.rst index 20ed896a7..39cc200d3 100644 --- a/sponsorship_sub_management/README.rst +++ b/sponsorship_sub_management/README.rst @@ -66,19 +66,19 @@ Usage To use this module, you need to: -- Go to Sponsorship -> Track sponsorships +- Go to Sponsorship -> Track sponsorships Known issues / Roadmap ====================== To add in the tests: -- Departure -> Departure -> Sub reject -- Departure -> Exchange of child -> Sub accept +- Departure -> Departure -> Sub reject +- Departure -> Exchange of child -> Sub accept Further functionality: -- Make the SDS notifications work +- Make the SDS notifications work Bug Tracker =========== @@ -101,9 +101,9 @@ Authors Contributors ------------ -- David Coninckx -- Emanuel Cino -- Noé Berdoz +- David Coninckx +- Emanuel Cino +- Noé Berdoz Maintainers ----------- diff --git a/thankyou_letters/README.rst b/thankyou_letters/README.rst index 71fc5fac4..28bc162ea 100644 --- a/thankyou_letters/README.rst +++ b/thankyou_letters/README.rst @@ -34,15 +34,15 @@ Configuration By default, three donation configurations are set: -- Small gifts (< 100CHF) -- Standard gifts (100 - 999 CHF) -- Large gifts (1000 CHF) +- Small gifts (< 100CHF) +- Standard gifts (100 - 999 CHF) +- Large gifts (1000 CHF) You can customize the limits by setting the three system parameters: -- thankyou_letters.small -- thankyou_letters.standard -- thankyou_letters.large +- thankyou_letters.small +- thankyou_letters.standard +- thankyou_letters.large One example template comes installed and is the same for the 3 donation types. You can however create other ones and attach them in the @@ -53,7 +53,7 @@ In order to get a summary of the donations, activate the CRON sending it and add a system parameter to set a User ID receiving the summary by e-mail: -- thankyou_letters.summary_user_id (1 for instance = admin) +- thankyou_letters.summary_user_id (1 for instance = admin) You can as well edit the report layout for printing by changing the report thankyou_letters.donation @@ -69,11 +69,11 @@ Usage Known issues / Roadmap ====================== -- Test invoices amount generates the correct thank you configuration -- Test invoices unreconcile removes from the thank you letter -- Test new invoices reconcile merge in the same letter and updates the - configuration -- Test success sentences are set in texts +- Test invoices amount generates the correct thank you configuration +- Test invoices unreconcile removes from the thank you letter +- Test new invoices reconcile merge in the same letter and updates the + configuration +- Test success sentences are set in texts Bug Tracker =========== @@ -96,7 +96,7 @@ Authors Contributors ------------ -- Emanuel Cino +- Emanuel Cino Maintainers ----------- diff --git a/thankyou_letters/views/generate_communication_wizard_view.xml b/thankyou_letters/views/generate_communication_wizard_view.xml index 3a2ebf893..439ca4692 100644 --- a/thankyou_letters/views/generate_communication_wizard_view.xml +++ b/thankyou_letters/views/generate_communication_wizard_view.xml @@ -25,10 +25,13 @@ - + Generate Communications partner.communication.generate.wizard - + form new { From 7f4ee25f786947efa3e63febfe74ecabac926eca Mon Sep 17 00:00:00 2001 From: Emanuel Cino Date: Thu, 2 Apr 2026 15:09:31 +0200 Subject: [PATCH 22/22] FIX migration in script in v17 --- gift_compassion/data/gift_thresholds.xml | 30 +++++++++---------- intervention_compassion/__manifest__.py | 2 +- partner_communication/__manifest__.py | 2 +- .../data/ir_cron_data.xml | 8 ++--- .../pre-migration.py | 20 ------------- .../models/correspondence_s2b_generator.py | 16 +++++----- 6 files changed, 27 insertions(+), 51 deletions(-) rename partner_communication_compassion/migrations/{14.0.1.1.1 => 17.0.1.0.1}/pre-migration.py (64%) diff --git a/gift_compassion/data/gift_thresholds.xml b/gift_compassion/data/gift_thresholds.xml index c5461f5ab..d8122f321 100644 --- a/gift_compassion/data/gift_thresholds.xml +++ b/gift_compassion/data/gift_thresholds.xml @@ -1,11 +1,10 @@ - - + + name="gift_type_id" + ref="sponsorship_compassion.gift_type_birthday" + /> 10 100 2 @@ -22,9 +21,9 @@ + name="gift_type_id" + ref="sponsorship_compassion.gift_type_graduation" + /> 10 2000 1 @@ -32,21 +31,20 @@ + name="gift_type_id" + ref="sponsorship_compassion.gift_type_family" + /> 25 1000 + name="gift_type_id" + ref="sponsorship_compassion.gift_type_project" + /> 100 2000 - - + diff --git a/intervention_compassion/__manifest__.py b/intervention_compassion/__manifest__.py index aab03c34a..ec2a3be75 100644 --- a/intervention_compassion/__manifest__.py +++ b/intervention_compassion/__manifest__.py @@ -29,7 +29,7 @@ # pylint: disable=C8101 { "name": "Compassion Interventions", - "version": "17.0.1.2.0", + "version": "17.0.1.2.1", "category": "Compassion", "author": "Compassion CH", "license": "AGPL-3", diff --git a/partner_communication/__manifest__.py b/partner_communication/__manifest__.py index 15230aede..294290ce4 100644 --- a/partner_communication/__manifest__.py +++ b/partner_communication/__manifest__.py @@ -30,7 +30,7 @@ # pylint: disable=C8101 { "name": "Partner Communication", - "version": "17.0.1.0.6", + "version": "17.0.1.0.7", "category": "Other", "author": "Compassion Switzerland", "license": "AGPL-3", diff --git a/partner_communication_compassion/data/ir_cron_data.xml b/partner_communication_compassion/data/ir_cron_data.xml index 74e19605f..6d52af7ac 100644 --- a/partner_communication_compassion/data/ir_cron_data.xml +++ b/partner_communication_compassion/data/ir_cron_data.xml @@ -1,10 +1,9 @@ - - + Project: 2-Month Suspension Announcement/Follow-Up + name="name" + >Project: 2-Month Suspension Announcement/Follow-Up code model._cron_suspension_communication() @@ -15,5 +14,4 @@ - diff --git a/partner_communication_compassion/migrations/14.0.1.1.1/pre-migration.py b/partner_communication_compassion/migrations/17.0.1.0.1/pre-migration.py similarity index 64% rename from partner_communication_compassion/migrations/14.0.1.1.1/pre-migration.py rename to partner_communication_compassion/migrations/17.0.1.0.1/pre-migration.py index 503000439..6aeaaed3f 100644 --- a/partner_communication_compassion/migrations/14.0.1.1.1/pre-migration.py +++ b/partner_communication_compassion/migrations/17.0.1.0.1/pre-migration.py @@ -1,5 +1,3 @@ -from openupgradelib import openupgrade - from odoo import SUPERUSER_ID, api @@ -31,21 +29,3 @@ def migrate(cr, version): # 2. Delete the config record itself record.unlink() - - # Define XML IDs for the communication configs "FCP Suspension Follow up" - openupgrade.add_xmlid( - cr, - "partner_communication_compassion", - "email_project_suspension_follow_up", - "mail.template", - 389, - noupdate=False, - ) - openupgrade.add_xmlid( - cr, - "partner_communication_compassion", - "project_suspension_follow_up", - "partner.communication.config", - 292, - noupdate=False, - ) diff --git a/sbc_compassion/models/correspondence_s2b_generator.py b/sbc_compassion/models/correspondence_s2b_generator.py index d3927ed5f..7898d7402 100644 --- a/sbc_compassion/models/correspondence_s2b_generator.py +++ b/sbc_compassion/models/correspondence_s2b_generator.py @@ -183,14 +183,14 @@ def generate_letters_job(self, preview_mode=False): ) for atchmt in self.image_ids ] - letter = self.letter_ids.filtered( - lambda c, _sp=sponsorship: c.sponsorship_id == _sp - ) - if letter: - letter.write(vals) - else: - letter = letters.create(vals) - letters += letter + letter = self.letter_ids.filtered( + lambda c, _sp=sponsorship: c.sponsorship_id == _sp + ) + if letter: + letter.write(vals) + else: + letter = letters.create(vals) + letters += letter letters.create_text_boxes() self.write({"letter_ids": [Command.set(letters.ids)]}) if not preview_mode: