* Revert "Remove consumptions depends"

This reverts commit ca4fd04b1f.

consumptions is used in Pyson expression for the states of field service.

* Revert "Remove consumptions depends"

This reverts commit 985fdab095.

consumptions is used in Pyson expression of states for field start_date.

* Add the CompanyTestMixin.

- Add missing field contexts.
- Add missing global rules.

* Update translation for de.

* Simplify the credit wizard by using self.records.

* Remove legacy company rules.

* Follow the common menu organization from tryton.org (bug10118).

* Use correct xml format for field priority.

* Revert "Revert "Remove consumptions depends""

This reverts commit d3a23e4f9b.

* Revert "Revert "Remove consumptions depends""

This reverts commit 996794dafd.

* Check rule only if _check_access is set and enforce companies rule
issue4080

* Add has_consumption field in contact line to eval readonly

#050435

* Add company to search by company + locales

#051236

Co-authored-by: Raimon Esteve <raimonesteve@gmail.com>
This commit is contained in:
Mathias Behrle 2023-01-11 16:51:31 +01:00 committed by Albert Cervera i Areny
parent 0a523dcfe4
commit 98f2453f33
6 changed files with 477 additions and 242 deletions

View file

@ -19,9 +19,12 @@
<field name="view" ref="contract_configuration_view_form"/>
<field name="act_window" ref="act_contract_configuration_form"/>
</record>
<menuitem parent="menu_configuration"
<menuitem
parent="menu_configuration"
sequence="0"
action="act_contract_configuration_form"
id="menu_contract_configuration" icon="tryton-list"/>
id="menu_contract_configuration"
icon="tryton-list"/>
<record model="ir.model.access" id="access_contract_configuration">
<field name="model" search="[('model', '=', 'contract.configuration')]"/>
<field name="perm_read" eval="True"/>

View file

@ -115,7 +115,7 @@ class Contract(RRuleMixin, Workflow, ModelSQL, ModelView):
states=_STATES, depends=_DEPENDS)
party = fields.Many2One('party.party', 'Party', required=True,
context={
'company': Eval('company'),
'company': Eval('company', -1),
},
states=_STATES, depends=_DEPENDS + ['company'])
number = fields.Char('Number', states=_STATES,

View file

@ -200,7 +200,7 @@
<record model="ir.ui.view" id="contract_line_view_list_sequence">
<field name="model">contract.line</field>
<field name="type">tree</field>
<field name="priority">20</field>
<field name="priority" eval="20"/>
<field name="name">contract_line_list_sequence</field>
</record>
<record model="ir.ui.view" id="contract_line_view_form">
@ -504,12 +504,41 @@
<field name="act_window" ref="act_contract_review_line"/>
</record>
<!-- Global rules -->
<record model="ir.rule.group" id="rule_group_contract_companies">
<field name="name">User in companies</field>
<field name="model" search="[('model', '=', 'contract')]"/>
<field name="global_p" eval="True"/>
</record>
<record model="ir.rule" id="rule_contract_companies">
<field name="domain"
eval="[('company', 'in', Eval('companies', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_contract_companies"/>
</record>
<record model="ir.rule.group" id="rule_group_contract_review_companies">
<field name="name">User in companies</field>
<field name="model" search="[('model', '=', 'contract.review')]"/>
<field name="global_p" eval="True"/>
</record>
<record model="ir.rule" id="rule_contract_review_companies">
<field name="domain"
eval="[('company', 'in', Eval('companies', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_contract_review_companies"/>
</record>
<!-- Menus -->
<record model="ir.ui.icon" id="contract_icon">
<field name="name">tryton-membership</field>
<field name="path">icons/tryton-membership.svg</field>
</record>
<menuitem id="menu_contract" name="Contracts" icon="tryton-membership"/>
<menuitem
name="Contracts"
sequence="100"
id="menu_contract"
icon="tryton-membership"/>
<record model="ir.ui.menu-res.group" id="menu_contract_group_contract">
<field name="menu" ref="menu_contract"/>
@ -556,16 +585,25 @@
<field name="rule_group" ref="rule_group_contract_consumption"/>
</record>
<menuitem name="Configuration" parent="menu_contract"
id="menu_configuration" sequence="0" icon="tryton-settings"/>
<menuitem
name="Configuration"
parent="menu_contract"
id="menu_configuration"
sequence="0"
icon="tryton-settings"/>
<record model="ir.ui.menu-res.group"
id="menu_configuration_group_contract_admin">
<field name="menu" ref="menu_configuration"/>
<field name="group" ref="group_contract_admin"/>
</record>
<menuitem action="act_contract_service" id="menu_contract_service"
parent="menu_configuration" sequence="10" name="Contract Services"/>
<menuitem
parent="menu_configuration"
name="Contract Services"
sequence="10"
action="act_contract_service"
id="menu_contract_service"/>
<menuitem action="act_contract" id="menu_contract_form"
parent="menu_contract" sequence="20" name="Contracts"/>

View file

@ -76,15 +76,14 @@ class CreditInvoice(metaclass=PoolMeta):
def default_start(self, fields):
pool = Pool()
Invoice = pool.get('account.invoice')
Consumption = pool.get('contract.consumption')
default = super(CreditInvoice, self).default_start(fields)
default = super().default_start(fields)
default.update({
'from_contract': False,
'reinvoice_contract': False,
})
for invoice in Invoice.browse(Transaction().context['active_ids']):
for invoice in self.records:
for line in invoice.lines:
if isinstance(line.origin, Consumption):
default['from_contract'] = True
@ -93,17 +92,15 @@ class CreditInvoice(metaclass=PoolMeta):
def do_credit(self, action):
pool = Pool()
Invoice = pool.get('account.invoice')
Consumption = pool.get('contract.consumption')
transaction = Transaction()
action, data = super(CreditInvoice, self).do_credit(action)
action, data = super().do_credit(action)
if self.start.reinvoice_contract:
consumptions = set([])
for invoice in Invoice.browse(transaction.context['active_ids']):
for invoice in self.records:
for line in invoice.lines:
if isinstance(line.origin, Consumption):
consumptions.add(line.origin)
with transaction.set_context(force_reinvoice=True):
with Transaction().set_context(force_reinvoice=True):
Consumption.generate_invoice(list(consumptions))
return action, data

View file

@ -2,67 +2,6 @@
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "error:contract.consumption:"
msgid "Consumption \"%s\" can not be deleted because it is already invoiced."
msgstr ""
"Abrechnung \"%s\" kann nicht gelöscht werden, weil sie bereits fakturiert "
"ist."
msgctxt "error:contract.consumption:"
msgid ""
"Contract Line \"%(contract_line)s\" misses an \"account revenue\" default "
"property."
msgstr ""
"Fehlende Standardeigenschaft \"Ertragskonto\" für Vertragsposition "
"\"%(contract_line)s\"."
msgctxt "error:contract.consumption:"
msgid ""
"No payment term could be found for contract invoice of customer "
"\"%(customer)s\"."
msgstr "Für Kunde \"%(customer)s\" ist keine Zahlungsbedingung eingetragen."
msgctxt "error:contract.consumption:"
msgid "Please, configure a journal before creating contract invoices."
msgstr ""
"Bitte konfigurieren Sie ein Journal vor der Fakturierung von Verträgen."
msgctxt "error:contract.consumption:"
msgid ""
"Product \"%(product)s\" of contract line %(contract_line)s misses a revenue "
"account."
msgstr ""
"Fehlendes Ertragskonto für Variante \"%(product)s\" in Vertragsposition "
"%(contract_line)s."
msgctxt "error:contract.line:"
msgid ""
"Contract Line \"%(line)s\" cannot be removed because contract "
"\"%(contract)s\" is not in draft state."
msgstr ""
"Vertragsposition \"%(line)s\" kann nicht entfernt werden, weil Vertrag "
"\"%(contract)s\" nicht in Status \"Entwurf\" ist."
msgctxt "error:contract:"
msgid ""
"Contract \"%(contract)s\" can not be finished because line \"%(line)s\" has "
"no end date."
msgstr ""
"Vertrag \"%(contract)s\" kann nicht beendet werden, weil für Position "
"\"%(line)s\" Kein Enddatum eingetragen ist."
msgctxt "error:contract:"
msgid "Contract \"%s\" can not be moved to draft because it has consumptions."
msgstr ""
"Vertrag \"%s\" kann nicht auf Status \"Entwurf\" zurückgesetzt werden, weil "
"bereits Abrechnungen für ihn erzeugt wurden."
msgctxt "error:contract:"
msgid "Start Date is required in line \"%(line)s\" of contract \"%(contract)s\"."
msgstr ""
"Anfangsdatum ist erforderlich für Position \"%(line)s\" von Vertrag "
"\"%(contract)s\"."
msgctxt "field:account.invoice.credit.start,from_contract:"
msgid "From Contract"
msgstr "Von Vertrag"
@ -75,18 +14,14 @@ msgctxt "field:contract,company:"
msgid "Company"
msgstr "Unternehmen"
msgctxt "field:contract,create_date:"
msgid "Create Date"
msgstr "Erstellungsdatum"
msgctxt "field:contract,create_uid:"
msgid "Create User"
msgstr "Erstellt durch"
msgctxt "field:contract,currency:"
msgid "Currency"
msgstr "Währung"
msgctxt "field:contract,currency_digits:"
msgid "Currency Digits"
msgstr "Währung (signifikante Stellen)"
msgctxt "field:contract,end_date:"
msgid "End Date"
msgstr "Enddatum"
@ -95,14 +30,14 @@ msgctxt "field:contract,first_invoice_date:"
msgid "First Invoice Date"
msgstr "Erstes Fakturierungsdatum"
msgctxt "field:contract,first_review_date:"
msgid "First Review Date"
msgstr "Erstes Wiedervorlagedatum"
msgctxt "field:contract,freq:"
msgid "Frequency"
msgstr "Häufigkeit"
msgctxt "field:contract,id:"
msgid "ID"
msgstr "ID"
msgctxt "field:contract,interval:"
msgid "Interval"
msgstr "Intervall"
@ -111,6 +46,10 @@ msgctxt "field:contract,lines:"
msgid "Lines"
msgstr "Positionen"
msgctxt "field:contract,months_renewal:"
msgid "Months Renewal"
msgstr "Monatliche Erneuerung"
msgctxt "field:contract,number:"
msgid "Number"
msgstr "Nummer"
@ -119,14 +58,26 @@ msgctxt "field:contract,party:"
msgid "Party"
msgstr "Partei"
msgctxt "field:contract,rec_name:"
msgid "Name"
msgstr "Name"
msgctxt "field:contract,payment_term:"
msgid "Payment Term"
msgstr "Zahlungsbedingung"
msgctxt "field:contract,reference:"
msgid "Reference"
msgstr "Beleg-Nr."
msgctxt "field:contract,review_alarm:"
msgid "Alarm Date"
msgstr "Erinnerungsdatum"
msgctxt "field:contract,review_limit_date:"
msgid "Limit Date"
msgstr "Befristungsdatum"
msgctxt "field:contract,reviews:"
msgid "Reviews"
msgstr "Überprüfungen"
msgctxt "field:contract,start_date:"
msgid "Start Date"
msgstr "Anfangsdatum"
@ -139,45 +90,41 @@ msgctxt "field:contract,state:"
msgid "State"
msgstr "Status"
msgctxt "field:contract,write_date:"
msgid "Write Date"
msgstr "Zuletzt geändert"
msgctxt "field:contract,write_uid:"
msgid "Write User"
msgstr "Letzte Änderung durch"
msgctxt "field:contract.configuration,contract_sequence:"
msgid "Contract Reference Sequence"
msgstr "Nummernkreis Vertragsbeleg"
msgctxt "field:contract.configuration,create_date:"
msgid "Create Date"
msgstr "Erstellungsdatum"
msgctxt "field:contract.configuration,default_months_renewal:"
msgid "Review Months Renewal"
msgstr "Überprüfung monatliche Erneuerung"
msgctxt "field:contract.configuration,create_uid:"
msgid "Create User"
msgstr "Erstellt durch"
msgctxt "field:contract.configuration,default_review_alarm:"
msgid "Alarm Date"
msgstr "Erinnerungsdatum"
msgctxt "field:contract.configuration,id:"
msgid "ID"
msgstr "ID"
msgctxt "field:contract.configuration,default_review_limit_date:"
msgid "Limit Date"
msgstr "Befristungsdatum"
msgctxt "field:contract.configuration,journal:"
msgid "Journal"
msgstr "Journal"
msgctxt "field:contract.configuration,rec_name:"
msgid "Name"
msgstr "Name"
msgctxt "field:contract.configuration.account,company:"
msgid "Company"
msgstr "Unternehmen"
msgctxt "field:contract.configuration,write_date:"
msgid "Write Date"
msgstr "Zuletzt geändert"
msgctxt "field:contract.configuration.account,journal:"
msgid "Journal"
msgstr "Journal"
msgctxt "field:contract.configuration,write_uid:"
msgid "Write User"
msgstr "Letzte Änderung durch"
msgctxt "field:contract.configuration.sequence,company:"
msgid "Company"
msgstr "Unternehmen"
msgctxt "field:contract.configuration.sequence,contract_sequence:"
msgid "Contract Reference Sequence"
msgstr "Nummernkreis Vertragsbeleg"
msgctxt "field:contract.consumption,contract:"
msgid "Contract"
@ -187,17 +134,9 @@ msgctxt "field:contract.consumption,contract_line:"
msgid "Contract Line"
msgstr "Vertragsposition"
msgctxt "field:contract.consumption,create_date:"
msgid "Create Date"
msgstr "Erstellungsdatum"
msgctxt "field:contract.consumption,create_uid:"
msgid "Create User"
msgstr "Erstellt durch"
msgctxt "field:contract.consumption,credit_lines:"
msgid "Credit Lines"
msgstr "Gutschriftspositionen"
msgstr "Stornopositionen"
msgctxt "field:contract.consumption,end_date:"
msgid "End Date"
@ -207,10 +146,6 @@ msgctxt "field:contract.consumption,end_period_date:"
msgid "Finish Period Date"
msgstr "Ende Abrechnungszeitraum"
msgctxt "field:contract.consumption,id:"
msgid "ID"
msgstr "ID"
msgctxt "field:contract.consumption,init_period_date:"
msgid "Start Period Date"
msgstr "Beginn Abrechnungszeitraum"
@ -223,38 +158,18 @@ msgctxt "field:contract.consumption,invoice_lines:"
msgid "Invoice Lines"
msgstr "Rechnungspositionen"
msgctxt "field:contract.consumption,rec_name:"
msgid "Name"
msgstr "Name"
msgctxt "field:contract.consumption,start_date:"
msgid "Start Date"
msgstr "Anfangsdatum"
msgctxt "field:contract.consumption,write_date:"
msgid "Write Date"
msgstr "Zuletzt geändert"
msgctxt "field:contract.consumption,write_uid:"
msgid "Write User"
msgstr "Letzte Änderung durch"
msgctxt "field:contract.create_consumptions.start,date:"
msgid "Date"
msgstr "Datum"
msgctxt "field:contract.create_consumptions.start,id:"
msgid "ID"
msgstr "ID"
msgctxt "field:contract.create_invoices.start,date:"
msgid "Date"
msgstr "Datum"
msgctxt "field:contract.create_invoices.start,id:"
msgid "ID"
msgstr "ID"
msgctxt "field:contract.line,consumptions:"
msgid "Consumptions"
msgstr "Abrechnungen"
@ -267,14 +182,6 @@ msgctxt "field:contract.line,contract_state:"
msgid "Contract State"
msgstr "Vertragsstatus"
msgctxt "field:contract.line,create_date:"
msgid "Create Date"
msgstr "Erstellungsdatum"
msgctxt "field:contract.line,create_uid:"
msgid "Create User"
msgstr "Erstellt durch"
msgctxt "field:contract.line,description:"
msgid "Description"
msgstr "Beschreibung"
@ -283,10 +190,6 @@ msgctxt "field:contract.line,end_date:"
msgid "End Date"
msgstr "Enddatum"
msgctxt "field:contract.line,id:"
msgid "ID"
msgstr "ID"
msgctxt "field:contract.line,last_consumption_date:"
msgid "Last Consumption Date"
msgstr "Letztes Abrechnungsdatum"
@ -295,14 +198,6 @@ msgctxt "field:contract.line,last_consumption_invoice_date:"
msgid "Last Invoice Date"
msgstr "Letztes Fakturierungsdatum"
msgctxt "field:contract.line,rec_name:"
msgid "Name"
msgstr "Name"
msgctxt "field:contract.line,sequence:"
msgid "Sequence"
msgstr "Reihenfolge"
msgctxt "field:contract.line,service:"
msgid "Service"
msgstr "Leistung"
@ -315,25 +210,61 @@ msgctxt "field:contract.line,unit_price:"
msgid "Unit Price"
msgstr "Preis"
msgctxt "field:contract.line,write_date:"
msgid "Write Date"
msgstr "Zuletzt geändert"
msgctxt "field:contract.review,activities:"
msgid "Activities"
msgstr "Wiedervorlagen"
msgctxt "field:contract.line,write_uid:"
msgid "Write User"
msgstr "Letzte Änderung durch"
msgctxt "field:contract.review,alarm_date:"
msgid "Alarm Date"
msgstr "Erinnerungsdatum"
msgctxt "field:contract.service,create_date:"
msgid "Create Date"
msgstr "Erstellungsdatum"
msgctxt "field:contract.review,company:"
msgid "Company"
msgstr "Unternehmen"
msgctxt "field:contract.service,create_uid:"
msgid "Create User"
msgstr "Erstellt durch"
msgctxt "field:contract.review,contract:"
msgid "Contract"
msgstr "Vertrag"
msgctxt "field:contract.service,id:"
msgid "ID"
msgstr "ID"
msgctxt "field:contract.review,limit_date:"
msgid "Limit Date"
msgstr "Befristungsdatum"
msgctxt "field:contract.review,lines:"
msgid "Lines"
msgstr "Positionen"
msgctxt "field:contract.review,review_date:"
msgid "Review Date"
msgstr "Überprüfungsdatum"
msgctxt "field:contract.review,state:"
msgid "State"
msgstr "Status"
msgctxt "field:contract.review,visual:"
msgid "Visual"
msgstr "Visuell"
msgctxt "field:contract.review.line,contract_line:"
msgid "Contract Line"
msgstr "Vertragsposition"
msgctxt "field:contract.review.line,increase_percentage:"
msgid "Increase Percentage (%)"
msgstr "Prozentsatz Zunahme (%)"
msgctxt "field:contract.review.line,price:"
msgid "Price"
msgstr "Preis"
msgctxt "field:contract.review.line,review:"
msgid "Review"
msgstr "Überprüfung"
msgctxt "field:contract.review.line,updated_price:"
msgid "Updated Price"
msgstr "Aktualisierter Preis"
msgctxt "field:contract.service,name:"
msgid "Name"
@ -343,28 +274,60 @@ msgctxt "field:contract.service,product:"
msgid "Product"
msgstr "Variante"
msgctxt "field:contract.service,rec_name:"
msgid "Name"
msgstr "Name"
msgctxt "field:contract.service,write_date:"
msgid "Write Date"
msgstr "Zuletzt geändert"
msgctxt "field:contract.service,write_uid:"
msgid "Write User"
msgstr "Letzte Änderung durch"
msgctxt "field:party.party,contract_grouping_method:"
msgid "Contract Grouping Method"
msgstr "Gruppierungsmethode Vertrag"
msgctxt "field:party.party,contract_grouping_methods:"
msgid "Contract Grouping Methods"
msgstr "Gruppierungsmethoden Vertrag"
msgctxt "field:party.party.contract_grouping_method,company:"
msgid "Company"
msgstr "Unternehmen"
msgctxt "field:party.party.contract_grouping_method,contract_grouping_method:"
msgid "Contract Grouping Method"
msgstr "Gruppierungsmethode Vertrag"
msgctxt "field:party.party.contract_grouping_method,party:"
msgid "Party"
msgstr "Partei"
msgctxt "help:account.invoice.credit.start,reinvoice_contract:"
msgid "If true, the consumption that generated this line will be reinvoiced."
msgstr ""
"Bei Aktivierung wird die Abrechnung, die diese Position erzeugt hat, "
"nochmals fakturiert."
msgctxt "help:contract,first_review_date:"
msgid "Date on which the actions should be performed."
msgstr "Das Datum an dem der Vorgang durchgeführt werden soll."
msgctxt "help:contract,review_alarm:"
msgid "The date when actions related to reviews should start to be managed."
msgstr ""
"Das Datum an dem mit der Bearbeitung der mit der Überprüfung verbundenen "
"Aktionen begonnen werden sollte."
msgctxt "help:contract,review_limit_date:"
msgid "The deadline date on which the actions should be performed."
msgstr "Das Datum der Fristende für die Bearbeitung der Aktionen."
msgctxt "help:contract.configuration,default_review_alarm:"
msgid "The date when actions related to reviews should start to be managed."
msgstr ""
"Das Datum an dem mit der Bearbeitung der mit der Überprüfung verbundenen "
"Aktionen begonnen werden sollte."
msgctxt "help:contract.configuration,default_review_limit_date:"
msgid "The deadline date on which the actions should be performed."
msgstr "Das Datum der Fristende für die Bearbeitung der Aktionen."
msgctxt "help:contract.review,state:"
msgid "The current state of the review."
msgstr "Der aktuelle Status der Überprüfung."
msgctxt "model:contract,name:"
msgid "Contract"
msgstr "Vertrag"
@ -373,22 +336,42 @@ msgctxt "model:contract.configuration,name:"
msgid "Contract Configuration"
msgstr "Einstellungen"
msgctxt "model:contract.configuration.account,name:"
msgid "Contract Configuration Accounting"
msgstr "Vertrag Einstellungen Buchhaltung"
msgctxt "model:contract.configuration.sequence,name:"
msgid "Contract Configuration Sequence"
msgstr "Vertrag Einstellungen Nummernkreis"
msgctxt "model:contract.consumption,name:"
msgid "Contract Consumption"
msgstr "Abrechnung"
msgctxt "model:contract.create_consumptions.start,name:"
msgid "Create Consumptions Start"
msgstr "Abrechnungen erzeugen Start"
msgstr "Abrechnungen Erzeugen Start"
msgctxt "model:contract.create_invoices.start,name:"
msgid "Create Invoices Start"
msgstr "Rechnungen erstellen Start"
msgctxt "model:contract.create_reviews.start,name:"
msgid "Create Contract Reviews Start"
msgstr "Überprüfungen Erstellen Start"
msgctxt "model:contract.line,name:"
msgid "Contract Line"
msgstr "Vertragsposition"
msgctxt "model:contract.review,name:"
msgid "Contract Review"
msgstr "Vertrag Überprüfung"
msgctxt "model:contract.review.line,name:"
msgid "Contract Review Line"
msgstr "Vertrag Überprüfung Zeile"
msgctxt "model:contract.service,name:"
msgid "Contract Service"
msgstr "Vertragsleistung"
@ -417,6 +400,14 @@ msgctxt "model:ir.action,name:act_contract_line"
msgid "Contract Lines"
msgstr "Vertragspositionen"
msgctxt "model:ir.action,name:act_contract_review_form_relate"
msgid "Reviews"
msgstr "Überprüfungen"
msgctxt "model:ir.action,name:act_contract_review_line"
msgid "Contract Review Lines"
msgstr "Vertrag Überprüfung Zeile"
msgctxt "model:ir.action,name:act_contract_service"
msgid "Contract Services"
msgstr "Vertragsleistungen"
@ -429,6 +420,10 @@ msgctxt "model:ir.action,name:act_open_contract"
msgid "Contracts"
msgstr "Verträge"
msgctxt "model:ir.action,name:act_review"
msgid "Reviews"
msgstr "Überprüfungen"
msgctxt "model:ir.action,name:wizard_create_consumptions"
msgid "Create Consumptions"
msgstr "Abrechnungen erzeugen"
@ -437,6 +432,10 @@ msgctxt "model:ir.action,name:wizard_create_invoices"
msgid "Create Invoices"
msgstr "Rechnungen erstellen"
msgctxt "model:ir.action,name:wizard_create_reviews"
msgid "Create Reviews"
msgstr "Überprüfungen erstellen"
msgctxt ""
"model:ir.action.act_window.domain,name:act_contract_consumption_domain_all"
msgid "All"
@ -459,6 +458,167 @@ msgctxt "model:ir.action.act_window.domain,name:act_contract_domain_draft"
msgid "Draft"
msgstr "Entwurf"
msgctxt "model:ir.action.act_window.domain,name:act_review_domain_all"
msgid "All"
msgstr "Alle"
msgctxt "model:ir.action.act_window.domain,name:act_review_domain_pending"
msgid "Pending"
msgstr "Schwebend"
msgctxt "model:ir.action.act_window.domain,name:act_review_domain_processing"
msgid "Processing"
msgstr "In Arbeit"
msgctxt "model:ir.action.act_window.domain,name:act_review_domain_to_notice"
msgid "Notice"
msgstr "Zur Kenntnisnahme"
msgctxt "model:ir.message,text:cannot_delete"
msgid ""
"Contract Line \"%(line)s\" cannot be removed because contract "
"\"%(contract)s\" has consumptions."
msgstr ""
"Vertragsposition \"%(line)s\" kann nicht entfernt werden, weil für Vertrag "
"\"%(contract)s\" bereits Abrechnungen erstellt wurden."
msgctxt "model:ir.message,text:cannot_draft"
msgid "Contract \"%s\" can not be moved to draft because it has consumptions."
msgstr ""
"Vertrag \"%s\" kann nicht auf Status \"Entwurf\" zurückgestellt werden, weil"
" bereits Abrechnungen für ihn erzeugt wurden."
msgctxt "model:ir.message,text:cannot_finish"
msgid ""
"Contract \"%(contract)s\" can not be finished because line \"%(line)s\" has "
"no end date."
msgstr ""
"Vertrag \"%(contract)s\" kann nicht beendet werden, wei die Position "
"\"%(line)s\" kein Enddatum aufweist."
msgctxt "model:ir.message,text:delete_invoiced_consumption"
msgid ""
"Consumption \"%(consumption)s\" can not be deleted because it is already "
"invoiced."
msgstr ""
"Abrechnung \"%(consumption)s\" kann nicht gelöscht werden, weil sie bereits "
"fakturiert ist."
msgctxt "model:ir.message,text:line_start_date_required"
msgid "Start Date is required in line \"%(line)s\" of contract \"%(contract)s\"."
msgstr ""
"Für Position \"%(line)s\" in Vertrag \"%(contract)s\" ist ein Startdatum "
"erforderlich."
msgctxt "model:ir.message,text:missing_account_revenue"
msgid ""
"Product \"%(product)s\" of contract line %(contract_line)s misses a revenue "
"account."
msgstr ""
"Für Variante \"%(product)s\" in Vertragsposition %(contract_line)s ist kein "
"Ertragskonto definiert."
msgctxt "model:ir.message,text:missing_account_revenue_property"
msgid ""
"Contract Line \"%(contract_line)s\" misses an \"account revenue\" default "
"property."
msgstr ""
"Fehlende Standardeinstellung für Ertragskonto in Vertragsposition "
"\"%(contract_line)s\"."
msgctxt "model:ir.message,text:missing_journal"
msgid "Please, configure a journal before creating contract invoices."
msgstr "Bitte erstellen Sie ein Journal vor der Erstellung von Rechnungen."
msgctxt "model:ir.message,text:msg_review_cannot_delete"
msgid ""
"Contract Review \"%(review)s\" cannot be removed because is not in pending "
"state."
msgstr ""
"Überprüfung \"%(review)s\" kann nicht entfernt werden, da sie in keinem "
"bearbeitbaren Status ist."
msgctxt "model:ir.message,text:msg_review_with_lines"
msgid ""
"Contract Review \"%(review)s\" cannot move to \"Pending\" because it has "
"lines created."
msgstr "Es wurden bereits Zeilen für Wiedervorlage \"%(review)s\" erzeugt."
msgctxt "model:ir.message,text:pending_contract"
msgid ""
"The party \"%(party)s\" can not be erased because he has pending contracts "
"for the company \"%(company)s\"."
msgstr ""
"Partei \"%(party)s\" kann nicht gelöscht werden, weil es noch schwebende "
"Verträge für sie in Unternehmen \"%(company)s\" gibt."
msgctxt "model:ir.model.button,confirm:contract_cancel_button"
msgid ""
"Cancelled contracts no longer create consumptions. Are you sure you want to "
"cancel this contract?"
msgstr ""
"Für annullierte Verträge werden keine Abrechnungen erstellt. Fortfahren?"
msgctxt "model:ir.model.button,string:contract_cancel_button"
msgid "Cancel"
msgstr "Abbrechen"
msgctxt "model:ir.model.button,string:contract_confirm_button"
msgid "Confirm"
msgstr "Bestätigen"
msgctxt "model:ir.model.button,string:contract_consumption_invoice_button"
msgid "Invoice"
msgstr "Rechnung"
msgctxt "model:ir.model.button,string:contract_draft_button"
msgid "Draft"
msgstr "Entwurf"
msgctxt "model:ir.model.button,string:contract_finish_button"
msgid "Finish"
msgstr "Beenden"
msgctxt "model:ir.model.button,string:contract_review_cancelled_button"
msgid "Cancelled"
msgstr "Annulliert"
msgctxt "model:ir.model.button,string:contract_review_done_button"
msgid "Done"
msgstr "Erledigt"
msgctxt "model:ir.model.button,string:contract_review_pending_button"
msgid "Pending"
msgstr "Schwebend"
msgctxt "model:ir.model.button,string:contract_review_processing_button"
msgid "Processing"
msgstr "In Arbeit"
msgctxt "model:ir.rule.group,name:rule_group_contract"
msgid "Contract Company Rule"
msgstr "Vertrag Unternehmen Regel"
msgctxt "model:ir.rule.group,name:rule_group_contract_companies"
msgid "User in companies"
msgstr "Benutzer im Unternehmen"
msgctxt "model:ir.rule.group,name:rule_group_contract_consumption"
msgid "Contract Consumption Company Rule"
msgstr "Vertrag Abrechnung Unternehmen Regel"
msgctxt "model:ir.rule.group,name:rule_group_contract_line"
msgid "Contract Line Company Rule"
msgstr "Vertragsposition Unternehmen Regel"
msgctxt "model:ir.rule.group,name:rule_group_contract_review"
msgid "User in company"
msgstr "Benutzer in Unternehmen"
msgctxt "model:ir.rule.group,name:rule_group_contract_review_companies"
msgid "User in companies"
msgstr "Benutzer im Unternehmen"
msgctxt "model:ir.sequence,name:sequence_contract"
msgid "Contract"
msgstr "Vertrag"
@ -503,6 +663,18 @@ msgctxt "model:ir.ui.menu,name:menu_create_invoices"
msgid "Create Invoices"
msgstr "Rechnungen erstellen"
msgctxt "model:ir.ui.menu,name:menu_create_reviews"
msgid "Create Reviews"
msgstr "Überprüfungen erstellen"
msgctxt "model:ir.ui.menu,name:menu_review"
msgid "Reviews"
msgstr "Überprüfungen"
msgctxt "model:party.party.contract_grouping_method,name:"
msgid "Party Contract Grouping Method"
msgstr "Partei Vertragsgruppierungsmethode"
msgctxt "model:res.group,name:group_contract"
msgid "Contracts"
msgstr "Verträge"
@ -511,10 +683,6 @@ msgctxt "model:res.group,name:group_contract_admin"
msgid "Contracts Administration"
msgstr "Verträge Administration"
msgctxt "selection:contract,freq:"
msgid ""
msgstr " "
msgctxt "selection:contract,freq:"
msgid "Daily"
msgstr "Täglich"
@ -563,13 +731,53 @@ msgctxt "selection:contract.line,contract_state:"
msgid "Finished"
msgstr "Beendet"
msgctxt "selection:contract.review,state:"
msgid "Cancelled"
msgstr "Annulliert"
msgctxt "selection:contract.review,state:"
msgid "Done"
msgstr "Erledigt"
msgctxt "selection:contract.review,state:"
msgid "Pending"
msgstr "Schwebend"
msgctxt "selection:contract.review,state:"
msgid "Processing"
msgstr "In Arbeit"
msgctxt "selection:ir.cron,method:"
msgid "Contract - Create Reviews"
msgstr "Überprüfungen für Verträge erstellen"
msgctxt "selection:party.party,contract_grouping_method:"
msgid "Group contracts"
msgstr "Verträge gruppieren"
msgctxt "selection:party.party,contract_grouping_method:"
msgid "None"
msgstr "Keine"
msgstr " - "
msgctxt ""
"selection:party.party.contract_grouping_method,contract_grouping_method:"
msgid "Group contracts"
msgstr "Verträge gruppieren"
msgctxt ""
"selection:party.party.contract_grouping_method,contract_grouping_method:"
msgid "Group contracts"
msgstr "Verträge gruppieren"
msgctxt ""
"selection:party.party.contract_grouping_method,contract_grouping_method:"
msgid "None"
msgstr " - "
msgctxt ""
"selection:party.party.contract_grouping_method,contract_grouping_method:"
msgid "None"
msgstr " - "
msgctxt "view:account.invoice.credit.start:"
msgid ""
@ -577,11 +785,11 @@ msgid ""
"want to credit them?"
msgstr ""
"Diese Rechnung(en) wurden aus Verträgen erzeugt. Wollen Sie sie tatsächlich "
"gutschreiben?"
"stornieren?"
msgctxt "view:contract.configuration:"
msgid "Contract Configuration"
msgstr "Einstellungen"
msgid "Reviews"
msgstr "Überprüfungen"
msgctxt "view:contract.consumption:"
msgid "Contract Consumption"
@ -591,62 +799,42 @@ msgctxt "view:contract.consumption:"
msgid "Invoice"
msgstr "Fakturieren"
msgctxt "view:contract.create_consumptions.start:"
msgid "Create Consumptions"
msgstr "Abrechnungen erzeugen"
msgctxt "view:contract.create_consumptions.start:"
msgid "Create Contract Consumptions up to"
msgstr "Abrechnungen erzeugen bis"
msgctxt "view:contract.create_invoices.start:"
msgid "Create Invoices"
msgstr "Rechnungen erstellen"
msgctxt "view:contract.create_invoices.start:"
msgid "Create invoices up to"
msgstr "Rechnungen erstellen bis"
msgctxt "view:contract.create_reviews.start:"
msgid "Create Contract Reviews"
msgstr "Überprüfungen erstellen"
msgctxt "view:contract.line:"
msgid "Contract Line"
msgstr "Vertragsposition"
msgctxt "view:contract.review:"
msgid "Contract"
msgstr "Vertrag"
msgctxt "view:contract.service:"
msgid "Contract Service"
msgstr "Vertragsleistung"
msgctxt "view:contract:"
msgid "Cancel"
msgstr "Annullieren"
msgctxt "view:contract:"
msgid ""
"Cancelled contracts no longer create consumptions. Are you sure you want to "
"cancel this contract?"
msgstr ""
"Annullierte Verträge können nicht mehr abgerechnet werden. Tatsächlich "
"fortfahren?"
msgctxt "view:contract:"
msgid "Confirm"
msgstr "Bestätigen"
msgctxt "view:contract:"
msgid "Contract"
msgstr "Vertrag"
msgctxt "view:contract:"
msgid "Draft"
msgstr "Entwurf"
msgctxt "view:contract:"
msgid "Finish"
msgstr "Beenden"
msgctxt "view:contract:"
msgid "Invoice recurrence"
msgstr "Wiederkehrende Abrechnung"
msgctxt "view:contract:"
msgid "Review"
msgstr "Überprüfung"
msgctxt "view:party.party:"
msgid "Contract"
msgstr "Vertrag"
@ -667,3 +855,11 @@ msgstr "OK"
msgctxt "wizard_button:contract.create_invoices,start,end:"
msgid "Cancel"
msgstr "Abbrechen"
msgctxt "wizard_button:contract.create_reviews,start,create_reviews:"
msgid "OK"
msgstr "OK"
msgctxt "wizard_button:contract.create_reviews,start,end:"
msgid "Cancel"
msgstr "Abbrechen"

View file

@ -43,8 +43,9 @@ class PartyContractGroupingMethod(CompanyValueMixin, ModelSQL):
party = fields.Many2One(
'party.party', "Party", ondelete='CASCADE',
context={
'company': Eval('company'),
}, depends=['company'])
'company': Eval('company', -1),
},
depends=['company'])
contract_grouping_method = contract_grouping_method
@classmethod