config: allow setting of holidays for each user
This commit is contained in:
parent
73a7c1d86c
commit
b5f774003f
7 changed files with 110 additions and 0 deletions
|
@ -9,10 +9,13 @@ from .planner import ScheduledBooking, ScheduledBookingCashbookRel
|
|||
from .cashbook import Cashbook, CashbookLine
|
||||
from .cron import Cron
|
||||
from .nextrun import NextRun
|
||||
from .config import Configuration, UserConfiguration
|
||||
|
||||
|
||||
def register():
|
||||
Pool.register(
|
||||
Configuration,
|
||||
UserConfiguration,
|
||||
Rule,
|
||||
ScheduledBooking,
|
||||
NextRun,
|
||||
|
|
48
config.py
Normal file
48
config.py
Normal file
|
@ -0,0 +1,48 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# This file is part of the cashbook-planner from m-ds for Tryton.
|
||||
# The COPYRIGHT file at the top level of this repository contains the
|
||||
# full copyright notices and license terms.
|
||||
|
||||
|
||||
from trytond.pool import PoolMeta, Pool
|
||||
from trytond.model import fields
|
||||
|
||||
holidays = fields.Char(
|
||||
string='Holidays', help='Semicolon separate list of dates:' +
|
||||
' yyyy-mm-dd = single date, mm-dd = annual repetition, ' +
|
||||
'easter = Easter Sunday, ascension = Ascension Day, offset ' +
|
||||
'with +/-n e.g.: easter+1 = Easter Monday')
|
||||
|
||||
|
||||
class Configuration(metaclass=PoolMeta):
|
||||
__name__ = 'cashbook.configuration'
|
||||
|
||||
holidays = fields.MultiValue(holidays)
|
||||
|
||||
@classmethod
|
||||
def multivalue_model(cls, field):
|
||||
""" get model for value
|
||||
"""
|
||||
pool = Pool()
|
||||
|
||||
if field in ['holidays']:
|
||||
return pool.get('cashbook.configuration_user')
|
||||
return super(Configuration, cls).multivalue_model(field)
|
||||
|
||||
@classmethod
|
||||
def default_holidays(cls, **pattern):
|
||||
return cls.multivalue_model('holidays').default_holidays()
|
||||
|
||||
# end Configuration
|
||||
|
||||
|
||||
class UserConfiguration(metaclass=PoolMeta):
|
||||
__name__ = 'cashbook.configuration_user'
|
||||
|
||||
holidays = holidays
|
||||
|
||||
@classmethod
|
||||
def default_holidays(cls):
|
||||
return 'easter+1;easter-2;ascension;05-01;12-25;12-26;01-01;'
|
||||
|
||||
# end CashbookLine
|
15
config.xml
Normal file
15
config.xml
Normal file
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0"?>
|
||||
<!-- This file is part of the cashbook-planner from m-ds for Tryton.
|
||||
The COPYRIGHT file at the top level of this repository contains the
|
||||
full copyright notices and license terms. -->
|
||||
<tryton>
|
||||
<data>
|
||||
|
||||
<record model="ir.ui.view" id="configuration_view_form">
|
||||
<field name="model">cashbook.configuration</field>
|
||||
<field name="inherit" ref="cashbook.configuration_view_form"/>
|
||||
<field name="name">configuration_form</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</tryton>
|
16
locale/de.po
16
locale/de.po
|
@ -79,6 +79,22 @@ msgid "User in companies"
|
|||
msgstr "Benutzer im Unternehmen"
|
||||
|
||||
|
||||
##########################
|
||||
# cashbook.configuration #
|
||||
##########################
|
||||
msgctxt "view:cashbook.configuration:"
|
||||
msgid "Scheduled Bookings"
|
||||
msgstr "geplante Buchungen"
|
||||
|
||||
msgctxt "field:cashbook.configuration,holidays:"
|
||||
msgid "Holidays"
|
||||
msgstr "Feiertage"
|
||||
|
||||
msgctxt "help:cashbook.configuration,holidays:"
|
||||
msgid "Semicolon separate list of dates: yyyy-mm-dd = single date, mm-dd = annual repetition, easter = Easter Sunday, ascension = Ascension Day, offset with +/-n e.g.: easter+1 = Easter Monday"
|
||||
msgstr "Semikolon getrennte Liste von Datumswerten: yyyy-mm-dd = Einzeldatum, mm-dd = jährliche Wiederholung, easter = Ostersonntag, ascension = Christi Himmelfahrt, Offset mit +/-n z.B: easter+1 = Ostermontag"
|
||||
|
||||
|
||||
####################
|
||||
# cashbook.planner #
|
||||
####################
|
||||
|
|
12
locale/en.po
12
locale/en.po
|
@ -58,6 +58,18 @@ msgctxt "model:ir.rule.group,name:rg_nextrun_companies"
|
|||
msgid "User in companies"
|
||||
msgstr "User in companies"
|
||||
|
||||
msgctxt "view:cashbook.configuration:"
|
||||
msgid "Scheduled Bookings"
|
||||
msgstr "Scheduled Bookings"
|
||||
|
||||
msgctxt "field:cashbook.configuration,holidays:"
|
||||
msgid "Holidays"
|
||||
msgstr "Holidays"
|
||||
|
||||
msgctxt "help:cashbook.configuration,holidays:"
|
||||
msgid "Semicolon separate list of dates: yyyy-mm-dd = single date, mm-dd = annual repetition, easter = Easter Sunday, ascension = Ascension Day, offset with +/-n e.g.: easter+1 = Easter Monday"
|
||||
msgstr "Semicolon separate list of dates: yyyy-mm-dd = single date, mm-dd = annual repetition, easter = Easter Sunday, ascension = Ascension Day, offset with +/-n e.g.: easter+1 = Easter Monday"
|
||||
|
||||
msgctxt "model:cashbook.planner,name:"
|
||||
msgid "Scheduled Booking"
|
||||
msgstr "Scheduled Booking"
|
||||
|
|
|
@ -8,6 +8,7 @@ xml:
|
|||
group.xml
|
||||
planner.xml
|
||||
nextrun.xml
|
||||
config.xml
|
||||
cashbook.xml
|
||||
cron.xml
|
||||
menu.xml
|
||||
|
|
15
view/configuration_form.xml
Normal file
15
view/configuration_form.xml
Normal file
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0"?>
|
||||
<!-- This file is part of the cashbook-planner from m-ds for Tryton.
|
||||
The COPYRIGHT file at the top level of this repository contains the
|
||||
full copyright notices and license terms. -->
|
||||
<data>
|
||||
|
||||
<xpath expr="/form/separator[@id='sepcb']" position="before">
|
||||
<separator id="planner" colspan="4" string="Scheduled Bookings"/>
|
||||
<label name="holidays"/>
|
||||
<field name="holidays" colspan="3"/>
|
||||
<newline/>
|
||||
|
||||
</xpath>
|
||||
|
||||
</data>
|
Loading…
Reference in a new issue