Initial import from Docker volume

This commit is contained in:
root
2025-12-26 13:11:43 +00:00
commit 4998dc066a
13336 changed files with 1767801 additions and 0 deletions

21
modules/attendance/__init__.py Executable file
View File

@@ -0,0 +1,21 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.pool import Pool
from . import attendance, ir
__all__ = ['register']
def register():
Pool.register(
ir.Rule,
attendance.Line,
attendance.Period,
attendance.SheetLine,
attendance.Sheet,
module='attendance', type_='model')
Pool.register(
attendance.Sheet_Timesheet,
module='attendance', type_='model', depends=['timesheet'])

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

441
modules/attendance/attendance.py Executable file
View File

@@ -0,0 +1,441 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
import copy
import datetime as dt
from collections import defaultdict
from itertools import chain
from sql import Column, Literal, Null, Window
from sql.aggregate import Min, Sum
from sql.conditionals import Coalesce
from sql.functions import CurrentTimestamp, Function, NthValue
from trytond import backend
from trytond.cache import Cache
from trytond.i18n import gettext
from trytond.model import Index, ModelSQL, ModelView, Workflow, fields
from trytond.pool import Pool, PoolMeta
from trytond.pyson import Eval
from trytond.tools import timezone as tz
from trytond.transaction import Transaction
from .exceptions import PeriodClosedError, PeriodTransitionError
class SQLiteStrftime(Function):
__slots__ = ()
_function = 'STRFTIME'
class Line(ModelSQL, ModelView):
"Attendance Line"
__name__ = 'attendance.line'
company = fields.Many2One('company.company', "Company", required=True,
help="The company which the employee attended.")
employee = fields.Many2One('company.employee', "Employee", required=True,
search_context={
'active_test': False,
},
domain=[
('company', '=', Eval('company')),
['OR',
('start_date', '=', None),
('start_date', '<=', Eval('date', None)),
],
['OR',
('end_date', '=', None),
('end_date', '>=', Eval('date', None)),
],
])
at = fields.DateTime("At", required=True)
date = fields.Date("Date", required=True)
type = fields.Selection([
('in', 'In'),
('out', 'Out'),
], "Type", required=True)
@classmethod
def __setup__(cls):
super().__setup__()
cls._order.insert(0, ('at', 'DESC'))
# Do not cache default_at
cls.__rpc__['default_get'].cache = None
@classmethod
def default_at(cls):
return dt.datetime.now()
@classmethod
def default_company(cls):
return Transaction().context.get('company')
@classmethod
def default_employee(cls):
return Transaction().context.get('employee')
@fields.depends('at', 'company')
def on_change_with_date(self):
if not self.at:
return
at = self.at
if self.company and self.company.timezone:
timezone = tz.ZoneInfo(self.company.timezone)
at = self.at.replace(tzinfo=tz.UTC) .astimezone(timezone)
return at.date()
def get_rec_name(self, name):
pool = Pool()
Lang = pool.get('ir.lang')
lang = Lang.get()
return '%s@%s' % (self.employee.rec_name, lang.strftime(self.at))
@classmethod
def create(cls, vlist):
lines = super().create(vlist)
to_write = defaultdict(list)
for line in lines:
date = line.on_change_with_date()
if line.date != date:
to_write[date].append(line)
if to_write:
cls.write(*chain([l, {'date': d}] for d, l in to_write.items()))
return lines
@classmethod
def write(cls, *args):
super().write(*args)
to_write = defaultdict(list)
actions = iter(args)
for lines, values in zip(actions, actions):
for line in lines:
date = line.on_change_with_date()
if line.date != date:
to_write[date].append(line)
if to_write:
cls.write(*chain([l, {'date': d}] for d, l in to_write.items()))
@classmethod
def delete(cls, records):
cls.check_closed_period(records, msg='delete')
super().delete(records)
@classmethod
def validate_fields(cls, records, field_names):
super().validate_fields(records, field_names)
cls.check_closed_period(records, field_names=field_names)
@classmethod
def check_closed_period(cls, records, msg='modify', field_names=None):
pool = Pool()
Period = pool.get('attendance.period')
if field_names and not (field_names & {'company', 'at'}):
return
for record in records:
period_date = Period.get_last_period_date(record.company)
if period_date and period_date > record.at:
raise PeriodClosedError(
gettext('attendance.msg_%s_period_close' % msg,
attendance=record.rec_name,
period=period_date))
@fields.depends('employee', 'at', 'id')
def on_change_with_type(self):
records = self.search([
('employee', '=', self.employee),
('at', '<', self.at),
('id', '!=', self.id),
],
order=[('at', 'desc')],
limit=1)
if records:
record, = records
return {'in': 'out', 'out': 'in'}.get(record.type)
else:
return 'in'
class Period(Workflow, ModelSQL, ModelView):
"Attendance Period"
__name__ = 'attendance.period'
_states = {
'readonly': Eval('state') == 'closed',
}
_last_period_cache = Cache('attendance.period', context=False)
ends_at = fields.DateTime("Ends at", required=True, states=_states)
company = fields.Many2One('company.company', "Company", required=True,
states=_states, help="The company the period is associated with.")
state = fields.Selection([
('draft', 'Draft'),
('closed', 'Closed'),
], "State", readonly=True, sort=False,
help="The current state of the attendance period.")
@classmethod
def __setup__(cls):
super().__setup__()
t = cls.__table__()
cls._sql_indexes.add(
Index(
t,
(t.company, Index.Equality()),
(t.state, Index.Equality()),
(t.ends_at, Index.Range(order='DESC'))))
cls._transitions |= set((
('draft', 'closed'),
('closed', 'draft'),
))
cls._buttons.update({
'draft': {
'invisible': Eval('state') == 'draft',
'depends': ['state'],
},
'close': {
'invisible': Eval('state') == 'closed',
'depends': ['state'],
},
})
@classmethod
def default_company(cls):
return Transaction().context.get('company')
@classmethod
def default_state(cls):
return 'draft'
def get_rec_name(self, name):
pool = Pool()
Lang = pool.get('ir.lang')
lang = Lang.get()
return lang.strftime(self.ends_at)
@classmethod
def get_last_period_date(cls, company):
key = int(company)
result = cls._last_period_cache.get(key, -1)
if result == -1:
records = cls.search([
('company', '=', company),
('state', '=', 'closed'),
],
order=[('ends_at', 'DESC')],
limit=1)
if records:
record, = records
result = record.ends_at
else:
result = None
cls._last_period_cache.set(key, result)
return result
@classmethod
@ModelView.button
@Workflow.transition('draft')
def draft(cls, periods):
for period in periods:
records = cls.search([
('company', '=', period.company),
('state', '=', 'closed'),
('ends_at', '>', period.ends_at),
],
order=[('ends_at', 'ASC')],
limit=1)
if records:
record, = records
raise PeriodTransitionError(
gettext('attendance.msg_draft_period_previous_closed',
period=period.rec_name,
other_period=record.rec_name))
cls._last_period_cache.clear()
@classmethod
@ModelView.button
@Workflow.transition('closed')
def close(cls, periods):
for period in periods:
records = cls.search([
('company', '=', period.company),
('state', '=', 'draft'),
('ends_at', '<', period.ends_at),
],
order=[('ends_at', 'ASC')],
limit=1)
if records:
record, = records
raise PeriodTransitionError(
gettext('attendance.msg_close_period_previous_open',
period=period.rec_name,
other_period=record.rec_name))
cls._last_period_cache.clear()
class SheetLine(ModelSQL, ModelView):
"Attendance SheetLine"
__name__ = 'attendance.sheet.line'
company = fields.Many2One('company.company', "Company")
employee = fields.Many2One('company.employee', "Employee")
from_ = fields.DateTime("From")
to = fields.DateTime("To")
duration = fields.TimeDelta("Duration")
date = fields.Date("Date")
sheet = fields.Many2One('attendance.sheet', "Sheet")
@classmethod
def __setup__(cls):
super().__setup__()
cls._order.insert(0, ('from_', 'DESC'))
@classmethod
def table_query(cls):
pool = Pool()
Attendance = pool.get('attendance.line')
transaction = Transaction()
database = transaction.database
attendance = Attendance.__table__()
if database.has_window_functions():
window = Window(
[attendance.employee],
order_by=[attendance.at.asc],
frame='ROWS', start=0, end=1)
type = NthValue(attendance.type, 1, window=window)
from_ = NthValue(attendance.at, 1, window=window)
to = NthValue(attendance.at, 2, window=window)
date = NthValue(attendance.date, 1, window=window)
query = attendance.select(
attendance.id.as_('id'),
attendance.company.as_('company'),
attendance.employee.as_('employee'),
type.as_('type'),
from_.as_('from_'),
to.as_('to'),
date.as_('date'))
sheet = (
Min(query.id * 2, window=Window([query.employee, query.date])))
else:
next_attendance = Attendance.__table__()
to = next_attendance.select(
next_attendance.at,
where=(next_attendance.employee == attendance.employee)
& (next_attendance.at > attendance.at),
order_by=[next_attendance.at.asc],
limit=1)
query = attendance.select(
attendance.id.as_('id'),
attendance.company.as_('company'),
attendance.employee.as_('employee'),
attendance.type.as_('type'),
attendance.at.as_('from_'),
to.as_('to'),
attendance.date.as_('date'))
query2 = copy.copy(query)
sheet = query2.select(
Min(query2.id * 2),
where=(query2.employee == query.employee)
& (query2.date == query.date))
from_ = Column(query, 'from_')
if backend.name == 'sqlite':
# As SQLite does not support operation on datetime
# we convert datetime into seconds
duration = (
SQLiteStrftime('%s', query.to) - SQLiteStrftime('%s', from_))
else:
duration = query.to - from_
return query.select(
query.id.as_('id'),
Literal(0).as_('create_uid'),
CurrentTimestamp().as_('create_date'),
cls.write_uid.sql_cast(Literal(Null)).as_('write_uid'),
cls.write_date.sql_cast(Literal(Null)).as_('write_date'),
query.company.as_('company'),
query.employee.as_('employee'),
from_.as_('from_'),
query.to.as_('to'),
query.date.as_('date'),
duration.as_('duration'),
sheet.as_('sheet'),
where=query.type == 'in')
class Sheet(ModelSQL, ModelView):
"Attendance Sheet"
__name__ = 'attendance.sheet'
company = fields.Many2One('company.company', "Company")
employee = fields.Many2One('company.employee', "Employee")
duration = fields.TimeDelta("Duration")
date = fields.Date("Date")
lines = fields.One2Many('attendance.sheet.line', 'sheet', "Lines")
@classmethod
def __setup__(cls):
super().__setup__()
cls._order.insert(0, ('date', 'DESC'))
@classmethod
def table_query(cls):
pool = Pool()
Line = pool.get('attendance.sheet.line')
line = Line.__table__()
return line.select(
(Min(line.id * 2)).as_('id'),
Literal(0).as_('create_uid'),
CurrentTimestamp().as_('create_date'),
cls.write_uid.sql_cast(Literal(Null)).as_('write_uid'),
cls.write_date.sql_cast(Literal(Null)).as_('write_date'),
line.company.as_('company'),
line.employee.as_('employee'),
Sum(line.duration).as_('duration'),
line.date.as_('date'),
group_by=[line.company, line.employee, line.date])
class Sheet_Timesheet(metaclass=PoolMeta):
__name__ = 'attendance.sheet'
timesheet_duration = fields.TimeDelta("Timesheet Duration")
@classmethod
def table_query(cls):
pool = Pool()
Timesheet = pool.get('timesheet.line')
line = Timesheet.__table__()
timesheet = line.select(
Min(line.id * 2 + 1).as_('id'),
line.company.as_('company'),
line.employee.as_('employee'),
Sum(line.duration).as_('duration'),
line.date.as_('date'),
group_by=[line.company, line.employee, line.date])
attendance = super().table_query()
return (attendance
.join(
timesheet, 'FULL' if backend.name != 'sqlite' else 'LEFT',
condition=(attendance.company == timesheet.company)
& (attendance.employee == timesheet.employee)
& (attendance.date == timesheet.date))
.select(
Coalesce(attendance.id, timesheet.id).as_('id'),
Literal(0).as_('create_uid'),
CurrentTimestamp().as_('create_date'),
cls.write_uid.sql_cast(Literal(Null)).as_('write_uid'),
cls.write_date.sql_cast(Literal(Null)).as_('write_date'),
Coalesce(attendance.company, timesheet.company).as_('company'),
Coalesce(
attendance.employee, timesheet.employee).as_('employee'),
attendance.duration.as_('duration'),
timesheet.duration.as_('timesheet_duration'),
Coalesce(attendance.date, timesheet.date).as_('date'),
))

318
modules/attendance/attendance.xml Executable file
View File

@@ -0,0 +1,318 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tryton>
<data>
<record model="res.group" id="group_attendance_admin">
<field name="name">Attendance Administration</field>
</record>
<record model="res.user-res.group" id="user_admin_group_attendance_admin">
<field name="user" ref="res.user_admin"/>
<field name="group" ref="group_attendance_admin"/>
</record>
<record model="ir.ui.icon" id="attendance_icon">
<field name="name">tryton-attendance</field>
<field name="path">icons/tryton-attendance.svg</field>
</record>
<menuitem
name="Attendance"
sequence="100"
icon="tryton-attendance"
id="menu_main_attendance"/>
<menuitem
name="Configuration"
parent="menu_main_attendance"
sequence="0"
id="menu_configuration"
icon="tryton-settings"/>
<record model="ir.ui.menu-res.group" id="menu_configuration_group_employee_admin">
<field name="menu" ref="menu_configuration"/>
<field name="group" ref="group_attendance_admin"/>
</record>
<record model="ir.ui.view" id="attendance_view_form">
<field name="model">attendance.line</field>
<field name="type">form</field>
<field name="name">attendance_form</field>
</record>
<record model="ir.ui.view" id="attendance_view_list">
<field name="model">attendance.line</field>
<field name="type">tree</field>
<field name="name">attendance_list</field>
</record>
<record model="ir.action.act_window" id="act_attendance">
<field name="name">Attendances</field>
<field name="res_model">attendance.line</field>
</record>
<record model="ir.action.act_window.view" id="act_attendance_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="attendance_view_list"/>
<field name="act_window" ref="act_attendance"/>
</record>
<record model="ir.action.act_window.view" id="act_attendance_view2">
<field name="sequence" eval="20"/>
<field name="view" ref="attendance_view_form"/>
<field name="act_window" ref="act_attendance"/>
</record>
<menuitem
action="act_attendance"
parent="menu_main_attendance"
sequence="10"
id="menu_attendance"/>
<record model="ir.rule.group" id="rule_group_attendance_companies">
<field name="name">User in companies</field>
<field name="model">attendance.line</field>
<field name="global_p" eval="True"/>
</record>
<record model="ir.rule" id="rule_attendance_companies">
<field name="domain"
eval="[('company', 'in', Eval('companies', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_attendance_companies"/>
</record>
<record model="ir.model.access" id="access_attendance">
<field name="model">attendance.line</field>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="perm_delete" eval="True"/>
</record>
<record model="ir.rule.group" id="rule_group_attendance">
<field name="name">Own attendance</field>
<field name="model">attendance.line</field>
<field name="global_p" eval="False"/>
<field name="default_p" eval="True"/>
<field name="perm_read" eval="False"/>
</record>
<record model="ir.rule" id="rule_attendance">
<field
name="domain"
eval="[('employee', 'in', Eval('employees', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_attendance"/>
</record>
<record model="ir.rule.group" id="rule_group_attendance_admin">
<field name="name">Any attendance</field>
<field name="model">attendance.line</field>
<field name="global_p" eval="False"/>
<field name="default_p" eval="False"/>
</record>
<record model="ir.rule.group-res.group" id="rule_group_attendance_admin_group_employee_admin">
<field name="rule_group" ref="rule_group_attendance_admin"/>
<field name="group" ref="group_attendance_admin"/>
</record>
<record model="ir.ui.view" id="period_view_form">
<field name="model">attendance.period</field>
<field name="type">form</field>
<field name="name">period_form</field>
</record>
<record model="ir.ui.view" id="period_view_list">
<field name="model">attendance.period</field>
<field name="type">tree</field>
<field name="name">period_list</field>
</record>
<record model="ir.action.act_window" id="act_period_list">
<field name="name">Periods</field>
<field name="res_model">attendance.period</field>
</record>
<record model="ir.action.act_window.view" id="act_period_list_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="period_view_list"/>
<field name="act_window" ref="act_period_list"/>
</record>
<record model="ir.action.act_window.view" id="act_period_list_view2">
<field name="sequence" eval="20"/>
<field name="view" ref="period_view_form"/>
<field name="act_window" ref="act_period_list"/>
</record>
<menuitem
action="act_period_list"
parent="menu_configuration"
sequence="10"
id="menu_period_list"/>
<record model="ir.rule.group" id="rule_group_period_companies">
<field name="name">User in companies</field>
<field name="model">attendance.period</field>
<field name="global_p" eval="True"/>
</record>
<record model="ir.rule" id="rule_period_companies">
<field name="domain"
eval="[('company', 'in', Eval('companies', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_period_companies"/>
</record>
<record model="ir.model.access" id="access_period">
<field name="model">attendance.period</field>
<field name="perm_read" eval="False"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_delete" eval="False"/>
</record>
<record model="ir.model.access" id="access_period_admin">
<field name="model">attendance.period</field>
<field name="group" ref="group_attendance_admin"/>
<field name="perm_read" eval="True"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="perm_delete" eval="True"/>
</record>
<record model="ir.model.button" id="period_draft_button">
<field name="model">attendance.period</field>
<field name="name">draft</field>
<field name="string">Draft</field>
</record>
<record model="ir.model.button" id="period_close_button">
<field name="model">attendance.period</field>
<field name="name">close</field>
<field name="string">Close</field>
</record>
<record model="ir.ui.view" id="sheet_line_view_form">
<field name="model">attendance.sheet.line</field>
<field name="type">form</field>
<field name="name">sheet_line_form</field>
</record>
<record model="ir.ui.view" id="sheet_line_view_list">
<field name="model">attendance.sheet.line</field>
<field name="type">tree</field>
<field name="name">sheet_line_list</field>
</record>
<record model="ir.rule.group" id="rule_group_sheet_line_companies">
<field name="name">User in companies</field>
<field name="model">attendance.sheet.line</field>
<field name="global_p" eval="True"/>
</record>
<record model="ir.rule" id="rule_sheet_line_companies">
<field name="domain"
eval="[('company', 'in', Eval('companies', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_sheet_line_companies"/>
</record>
<record model="ir.rule.group" id="rule_group_sheet_line">
<field name="name">Own attendance sheet line</field>
<field name="model">attendance.sheet.line</field>
<field name="global_p" eval="False"/>
<field name="default_p" eval="True"/>
<field name="perm_read" eval="False"/>
</record>
<record model="ir.rule" id="rule_sheet_line">
<field
name="domain"
eval="[('employee', 'in', Eval('employees', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_sheet_line"/>
</record>
<record model="ir.rule.group" id="rule_group_sheet_line_admin">
<field name="name">Any attendance sheet line</field>
<field name="model">attendance.sheet.line</field>
<field name="global_p" eval="False"/>
<field name="default_p" eval="False"/>
</record>
<record model="ir.rule.group-res.group" id="rule_group_sheet_line_admin_group_employee_admin">
<field name="rule_group" ref="rule_group_sheet_line_admin"/>
<field name="group" ref="group_attendance_admin"/>
</record>
<record model="ir.ui.view" id="sheet_view_form">
<field name="model">attendance.sheet</field>
<field name="type">form</field>
<field name="name">sheet_form</field>
</record>
<record model="ir.ui.view" id="sheet_view_list">
<field name="model">attendance.sheet</field>
<field name="type">tree</field>
<field name="name">sheet_list</field>
</record>
<record model="ir.action.act_window" id="act_sheet">
<field name="name">Sheets</field>
<field name="res_model">attendance.sheet</field>
</record>
<record model="ir.action.act_window.view" id="act_sheet_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="sheet_view_list"/>
<field name="act_window" ref="act_sheet"/>
</record>
<record model="ir.action.act_window.view" id="act_sheet_view2">
<field name="sequence" eval="20"/>
<field name="view" ref="sheet_view_form"/>
<field name="act_window" ref="act_sheet"/>
</record>
<record model="ir.rule.group" id="rule_group_sheet_companies">
<field name="name">User in companies</field>
<field name="model">attendance.sheet</field>
<field name="global_p" eval="True"/>
</record>
<record model="ir.rule" id="rule_sheet_companies">
<field name="domain"
eval="[('company', 'in', Eval('companies', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_sheet_companies"/>
</record>
<record model="ir.rule.group" id="rule_group_sheet">
<field name="name">Own attendance sheet</field>
<field name="model">attendance.sheet</field>
<field name="global_p" eval="False"/>
<field name="default_p" eval="True"/>
<field name="perm_read" eval="False"/>
</record>
<record model="ir.rule" id="rule_sheet">
<field
name="domain"
eval="[('employee', 'in', Eval('employees', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_sheet"/>
</record>
<record model="ir.rule.group" id="rule_group_sheet_admin">
<field name="name">Any attendance sheet</field>
<field name="model">attendance.sheet</field>
<field name="global_p" eval="False"/>
<field name="default_p" eval="False"/>
</record>
<record model="ir.rule.group-res.group" id="rule_group_sheet_admin_group_employee_admin">
<field name="rule_group" ref="rule_group_sheet_admin"/>
<field name="group" ref="group_attendance_admin"/>
</record>
<menuitem
action="act_sheet"
parent="menu_main_attendance"
sequence="20"
id="menu_sheet"/>
</data>
<data depends="timesheet">
<record model="ir.ui.view" id="sheet_view_form_timesheet">
<field name="model">attendance.sheet</field>
<field name="inherit" ref="sheet_view_form"/>
<field name="name">sheet_form_timesheet</field>
</record>
<record model="ir.ui.view" id="sheet_view_list_timesheet">
<field name="model">attendance.sheet</field>
<field name="inherit" ref="sheet_view_list"/>
<field name="name">sheet_list_timesheet</field>
</record>
</data>
</tryton>

View File

@@ -0,0 +1,12 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.exceptions import UserError
from trytond.model.exceptions import ValidationError
class PeriodClosedError(ValidationError):
pass
class PeriodTransitionError(UserError):
pass

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"/><path d="M0 0h24v24H0z" fill="none"/><path d="M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"/></svg>

After

Width:  |  Height:  |  Size: 333 B

29
modules/attendance/ir.py Executable file
View File

@@ -0,0 +1,29 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.pool import Pool, PoolMeta
_EMPLOYEES_RULE_MODELS = {
'attendance.line', 'attendance.sheet', 'attendance.sheet.line'}
class Rule(metaclass=PoolMeta):
__name__ = 'ir.rule'
@classmethod
def _get_context(cls, model_name):
pool = Pool()
User = pool.get('res.user')
context = super()._get_context(model_name)
if model_name in _EMPLOYEES_RULE_MODELS:
context['employees'] = User.get_employees()
return context
@classmethod
def _get_cache_key(cls, model_names):
pool = Pool()
User = pool.get('res.user')
key = super()._get_cache_key(model_names)
if model_names & _EMPLOYEES_RULE_MODELS:
key = (*key, User.get_employees())
return key

245
modules/attendance/locale/bg.po Executable file
View File

@@ -0,0 +1,245 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr ""
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr ""
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr ""
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr ""
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr ""
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr ""
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr ""
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr ""
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr ""
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr ""
msgctxt "model:attendance.line,name:"
msgid "Attendance Line"
msgstr ""
msgctxt "model:attendance.period,name:"
msgid "Attendance Period"
msgstr ""
msgctxt "model:attendance.sheet,name:"
msgid "Attendance Sheet"
msgstr ""
msgctxt "model:attendance.sheet.line,name:"
msgid "Attendance SheetLine"
msgstr ""
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr ""
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Date"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Time"
msgstr ""
msgctxt "view:attendance.period:"
msgid "Time"
msgstr ""

253
modules/attendance/locale/ca.po Executable file
View File

@@ -0,0 +1,253 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr "A"
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr "Empresa"
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr "Data"
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr "Empleat"
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr "Tipus"
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr "Empresa"
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr "Finalitza el"
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr "Estat"
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr "Empresa"
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr "Data"
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr "Duració"
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr "Empleat"
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr "Línies"
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr "Duració del full de treball"
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr "Empresa"
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr "Data"
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr "Temps"
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr "Empleat"
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr "De"
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr "Full"
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr "A"
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr "La empresa a la que ha atès l'empleat."
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr "L'empresa amb la que esta associada el període."
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr "L'estat actual del període d'assistència."
msgctxt "model:attendance.line,name:"
msgid "Attendance Line"
msgstr "Linia d'assitència"
msgctxt "model:attendance.period,name:"
msgid "Attendance Period"
msgstr "Període d'assistència"
msgctxt "model:attendance.sheet,name:"
msgid "Attendance Sheet"
msgstr "Full d'assistència"
msgctxt "model:attendance.sheet.line,name:"
msgid "Attendance SheetLine"
msgstr "Línia de full d'assistència"
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr "Assistències"
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr "Períodes"
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr "Fulls"
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
"Per tancar el període \"%(period)s\" heu de tancar primer el període "
"\"%(other_period)s\"."
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
"Per eliminar l'asistència \"%(attendance)s\" heu de reobrir el període "
"\"%(period)s\"."
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
"Per cambiar el període \"%(period)s\" heu d'establir primer el "
"període\"%(other_period)s\" a esborrany."
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
"Per modificar l'assitència \"%(attendance)s\" heu de reobrir el període "
"\"%(period)s\"."
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr "Tanca"
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr "Esborrany"
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr "La teva propia assistència"
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr "Qualsevol assistència"
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr "Usuari a les empreses"
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr "Usuari a les empreses"
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr "El teu propi full d'assistència"
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr "Qualsevol full d'asistència"
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr "Usuari a les empreses"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr "La teva propia línea del full d'asistència"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr "Qualsevol linia del full d'assistència"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr "Usuari a les empreses"
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr "Assistències"
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr "Configuració"
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr "Assistència"
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr "Períodes"
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr "Fulls"
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr "Administració d'assistència"
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr "Entrada"
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr "Sortida"
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr "Tancat"
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr "Esborrany"
msgctxt "view:attendance.line:"
msgid "Date"
msgstr "Data"
msgctxt "view:attendance.line:"
msgid "Time"
msgstr "Hora"
msgctxt "view:attendance.period:"
msgid "Time"
msgstr "Hora"

245
modules/attendance/locale/cs.po Executable file
View File

@@ -0,0 +1,245 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr ""
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr ""
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr ""
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr ""
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr ""
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr ""
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr ""
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr ""
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr ""
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr ""
msgctxt "model:attendance.line,name:"
msgid "Attendance Line"
msgstr ""
msgctxt "model:attendance.period,name:"
msgid "Attendance Period"
msgstr ""
msgctxt "model:attendance.sheet,name:"
msgid "Attendance Sheet"
msgstr ""
msgctxt "model:attendance.sheet.line,name:"
msgid "Attendance SheetLine"
msgstr ""
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr ""
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Date"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Time"
msgstr ""
msgctxt "view:attendance.period:"
msgid "Time"
msgstr ""

255
modules/attendance/locale/de.po Executable file
View File

@@ -0,0 +1,255 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr "Um"
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr "Unternehmen"
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr "Datum"
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr "Mitarbeiter"
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr "Typ"
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr "Unternehmen"
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr "Endet um"
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr "Status"
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr "Unternehmen"
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr "Datum"
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr "Erfasste Zeit"
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr "Mitarbeiter"
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr "Einträge"
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr "Erfasste Gesamtzeit"
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr "Unternehmen"
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr "Datum"
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr "Erfasste Zeit"
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr "Mitarbeiter"
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr "Von"
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr "Liste"
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr "Bis"
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr "Das Unternehmen für das der Mitarbeiter anwesend war."
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr ""
"Das Unternehmen dem dieser Anwesenheitseintragszeitraum zugeordnet ist."
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr "Der aktuelle Status des Anwesenheitseintragszeitraums."
msgctxt "model:attendance.line,name:"
msgid "Attendance Line"
msgstr "Anwesenheitseintrag"
msgctxt "model:attendance.period,name:"
msgid "Attendance Period"
msgstr "Anwesenheitseintragszeitraum"
msgctxt "model:attendance.sheet,name:"
msgid "Attendance Sheet"
msgstr "Anwesenheitsliste"
msgctxt "model:attendance.sheet.line,name:"
msgid "Attendance SheetLine"
msgstr "Anwesenheitszeile"
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr "Anwesenheiten"
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr "Anwesenheitszeiträume"
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr "Listen"
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
"Damit der Anwesenheitseintragszeitraum \"%(period)s\" geschlossen werden "
"kann muss zuerst \"%(other_period)s\" geschlossen werden."
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
"Um den Anwesenheitseintrag \"%(attendance)s\" zu löschen muss zuerst der "
"Anwesenheitseintragszeitraum \"%(period)s\" wieder geöffnet werden."
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
"Um den Anwesenheitseintragszeitraum \"%(period)s\" zu ändern muss zuerst der"
" Anwesenheitseintragszeitraum \"%(other_period)s\" auf Entwurf gesetzt "
"werden."
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
"Um den Anwesenheitseintrag \"%(attendance)s\" zu ändern, muss der "
"Anwesenheitseintragszeitraum \"%(period)s\" wieder geöffnet werden."
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr "Schließen"
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr "Entwurf"
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr "Eigene Anwesenheit"
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr "Alle Anwesenheiten"
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr "Benutzer in Unternehmen"
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr "Benutzer in Unternehmen"
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr "Eigene Anwesenheitsliste"
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr "Alle Anwesenheitslisten"
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr "Benutzer in Unternehmen"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr "Eigene Anwesenheitseinträge"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr "Alle Anwesenheitseinträge"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr "Benutzer in Unternehmen"
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr "Anwesenheiten"
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr "Einstellungen"
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr "Anwesenheit"
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr "Anwesenheitszeiträume"
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr "Listen"
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr "Anwesenheit Administration"
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr "Ein"
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr "Aus"
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr "Geschlossen"
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr "Entwurf"
msgctxt "view:attendance.line:"
msgid "Date"
msgstr "Datum"
msgctxt "view:attendance.line:"
msgid "Time"
msgstr "Uhrzeit"
msgctxt "view:attendance.period:"
msgid "Time"
msgstr "Uhrzeit"

253
modules/attendance/locale/es.po Executable file
View File

@@ -0,0 +1,253 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr "A"
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr "Empresa"
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr "Fecha"
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr "Empleado"
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr "Tipo"
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr "Empresa"
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr "Finaliza en"
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr "Estado"
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr "Empresa"
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr "Fecha"
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr "Duración"
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr "Empleado"
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr "Líneas"
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr "Duración del parte de trabajo"
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr "Empresa"
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr "Fecha"
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr "Duración"
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr "Empleado"
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr "De"
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr "Parte"
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr "A"
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr "La empresa en la que el empleado atendió."
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr "La empresa con la que el periodo está asociado."
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr "El estado actual del periodo de asistencia."
msgctxt "model:attendance.line,name:"
msgid "Attendance Line"
msgstr "Línea de asistencia"
msgctxt "model:attendance.period,name:"
msgid "Attendance Period"
msgstr "Periodo de asistencia"
msgctxt "model:attendance.sheet,name:"
msgid "Attendance Sheet"
msgstr "Parte de asistencia"
msgctxt "model:attendance.sheet.line,name:"
msgid "Attendance SheetLine"
msgstr "Línea de parte de asistencia"
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr "Asistencias"
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr "Periodos"
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr "Partes"
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
"Para cerrar el periodo \"%(period)s\" debes cerrar primero "
"%(other_period)s\"."
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
"Para eliminar la asistencia \"%(attendance)s\" debes reabrir el periodo "
"\"%(period)s\"."
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
"Para cambiar el periodo \"%(period)s\" debes establecer antes "
"\"%(other_period)s\" a borrador."
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
"Para modificar la asistencia \"%(attendance)s\" debes reabrir el periodo "
"\"%(period)s\"."
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr "Cerrar"
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr "Borrador"
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr "Tu propia asistencia"
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr "Cualquier asistencia"
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr "Usuario en las empresas"
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr "Usuario en las empresas"
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr "Tu propio parte de asistencia"
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr "Cualquier parte de asistencia"
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr "Usuario en las empresas"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr "Tu propia línea de parte de asistencia"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr "Cualquier línea de parte de asistencia"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr "Usuario en las empresas"
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr "Asistencias"
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr "Configuración"
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr "Asistencia"
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr "Periodos"
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr "Partes"
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr "Administración de asistencia"
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr "Entrada"
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr "Salida"
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr "Cerrado"
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr "Borrador"
msgctxt "view:attendance.line:"
msgid "Date"
msgstr "Fecha"
msgctxt "view:attendance.line:"
msgid "Time"
msgstr "Hora"
msgctxt "view:attendance.period:"
msgid "Time"
msgstr "Hora"

View File

@@ -0,0 +1,245 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr ""
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr ""
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr ""
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr ""
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr ""
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr ""
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr ""
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr ""
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr ""
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr ""
msgctxt "model:attendance.line,name:"
msgid "Attendance Line"
msgstr ""
msgctxt "model:attendance.period,name:"
msgid "Attendance Period"
msgstr ""
msgctxt "model:attendance.sheet,name:"
msgid "Attendance Sheet"
msgstr ""
msgctxt "model:attendance.sheet.line,name:"
msgid "Attendance SheetLine"
msgstr ""
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr ""
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Date"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Time"
msgstr ""
msgctxt "view:attendance.period:"
msgid "Time"
msgstr ""

245
modules/attendance/locale/et.po Executable file
View File

@@ -0,0 +1,245 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr ""
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr ""
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr ""
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr ""
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr ""
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr ""
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr ""
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr ""
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr ""
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr ""
msgctxt "model:attendance.line,name:"
msgid "Attendance Line"
msgstr ""
msgctxt "model:attendance.period,name:"
msgid "Attendance Period"
msgstr ""
msgctxt "model:attendance.sheet,name:"
msgid "Attendance Sheet"
msgstr ""
msgctxt "model:attendance.sheet.line,name:"
msgid "Attendance SheetLine"
msgstr ""
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr ""
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Date"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Time"
msgstr ""
msgctxt "view:attendance.period:"
msgid "Time"
msgstr ""

245
modules/attendance/locale/fa.po Executable file
View File

@@ -0,0 +1,245 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr ""
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr ""
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr ""
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr ""
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr ""
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr ""
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr ""
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr ""
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr ""
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr ""
msgctxt "model:attendance.line,name:"
msgid "Attendance Line"
msgstr ""
msgctxt "model:attendance.period,name:"
msgid "Attendance Period"
msgstr ""
msgctxt "model:attendance.sheet,name:"
msgid "Attendance Sheet"
msgstr ""
msgctxt "model:attendance.sheet.line,name:"
msgid "Attendance SheetLine"
msgstr ""
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr ""
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Date"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Time"
msgstr ""
msgctxt "view:attendance.period:"
msgid "Time"
msgstr ""

245
modules/attendance/locale/fi.po Executable file
View File

@@ -0,0 +1,245 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr ""
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr ""
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr ""
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr ""
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr ""
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr ""
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr ""
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr ""
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr ""
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr ""
msgctxt "model:attendance.line,name:"
msgid "Attendance Line"
msgstr ""
msgctxt "model:attendance.period,name:"
msgid "Attendance Period"
msgstr ""
msgctxt "model:attendance.sheet,name:"
msgid "Attendance Sheet"
msgstr ""
msgctxt "model:attendance.sheet.line,name:"
msgid "Attendance SheetLine"
msgstr ""
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr ""
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Date"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Time"
msgstr ""
msgctxt "view:attendance.period:"
msgid "Time"
msgstr ""

253
modules/attendance/locale/fr.po Executable file
View File

@@ -0,0 +1,253 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr "À"
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr "Société"
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr "Date"
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr "Employé"
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr "Type"
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr "Société"
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr "Fini à"
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr "État"
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr "Société"
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr "Date"
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr "Durée"
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr "Employé"
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr "Lignes"
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr "Durée de feuille de présence"
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr "Société"
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr "Date"
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr "Durée"
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr "Employé"
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr "De"
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr "Feuille"
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr "À"
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr "La société à laquelle l'employé a été présent."
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr "La société à laquelle la période est associée."
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr "L'état actuel de la période de présence."
msgctxt "model:attendance.line,name:"
msgid "Attendance Line"
msgstr "Ligne de présence"
msgctxt "model:attendance.period,name:"
msgid "Attendance Period"
msgstr "Période de présence"
msgctxt "model:attendance.sheet,name:"
msgid "Attendance Sheet"
msgstr "Feuille de présence"
msgctxt "model:attendance.sheet.line,name:"
msgid "Attendance SheetLine"
msgstr "Ligne de feuille de présence"
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr "Présences"
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr "Périodes"
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr "Feuilles"
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
"Pour fermer la période « %(period)s », vous devez d'abord fermer "
"« %(other_period)s »."
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
"Pour supprimer la présence « %(attendance)s », vous devez rouvrir la période"
" « %(period)s »."
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
"Pour modifier la période « %(period)s », vous devez d'abord mettre "
"« %(other_period)s » en brouillon."
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
"Pour modifier la présence « %(attendance)s », vous devez rouvrir la période "
"« %(period)s »."
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr "Fermer"
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr "Brouillon"
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr "Présence propre"
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr "N'importe quelle présence"
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr "Utilisateur dans les sociétés"
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr "Utilisateur dans les sociétés"
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr "Feuille de présence propre"
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr "N'importe quelle feuille de présence"
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr "Utilisateur dans les sociétés"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr "Ligne de feuille de présence propre"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr "N'importe quelle ligne de feuille de présence"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr "Utilisateur dans les sociétés"
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr "Présences"
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr "Configuration"
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr "Présence"
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr "Périodes"
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr "Feuilles"
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr "Administration des présences"
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr "Entrée"
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr "Sortie"
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr "Clôturée"
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr "Brouillon"
msgctxt "view:attendance.line:"
msgid "Date"
msgstr "Date"
msgctxt "view:attendance.line:"
msgid "Time"
msgstr "Heure"
msgctxt "view:attendance.period:"
msgid "Time"
msgstr "Heure"

245
modules/attendance/locale/hu.po Executable file
View File

@@ -0,0 +1,245 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr ""
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr ""
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr ""
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr ""
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr ""
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr ""
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr ""
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr ""
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr ""
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr ""
msgctxt "model:attendance.line,name:"
msgid "Attendance Line"
msgstr ""
msgctxt "model:attendance.period,name:"
msgid "Attendance Period"
msgstr ""
msgctxt "model:attendance.sheet,name:"
msgid "Attendance Sheet"
msgstr ""
msgctxt "model:attendance.sheet.line,name:"
msgid "Attendance SheetLine"
msgstr ""
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr ""
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Date"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Time"
msgstr ""
msgctxt "view:attendance.period:"
msgid "Time"
msgstr ""

253
modules/attendance/locale/id.po Executable file
View File

@@ -0,0 +1,253 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr ""
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr "Perusahaan"
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr "Tanggal"
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr "Karyawan"
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr "Jenis"
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr "Perusahaan"
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr ""
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr "Status"
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr "Perusahaan"
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr "Tanggal"
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr "Durasi"
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr "Karyawan"
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr "Perusahaan"
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr "Tanggal"
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr "Durasi"
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr "Karyawan"
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr "Dari"
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr ""
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr ""
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr ""
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr ""
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr ""
msgctxt "model:attendance.line,name:"
msgid "Attendance Line"
msgstr ""
msgctxt "model:attendance.period,name:"
msgid "Attendance Period"
msgstr ""
msgctxt "model:attendance.sheet,name:"
msgid "Attendance Sheet"
msgstr ""
msgctxt "model:attendance.sheet.line,name:"
msgid "Attendance SheetLine"
msgstr ""
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr "Periode-Periode"
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
"Untuk menutup periode \"%(period)s\" Anda harus terlebih dahulu menutup "
"\"%(other_period)s\"."
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
"Untuk menghapus kehadiran \"%(attendance)s\" Anda harus membuka kembali "
"periode \"%(period)s\"."
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
"Untuk mengubah periode \"%(period)s\" Anda harus terlebih dahulu mengubah "
"\"(other_period)s\" menjadi rancangan."
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
"Untuk mengubah kehadiran \"%(attendance)s\" Anda harus membuka kembali "
"periode \"%(period)s\"."
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr "Tutup"
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr "Konsep"
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr "Pengguna di dalam perusahaan"
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr "Konfigurasi"
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr "Periode"
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Date"
msgstr "Tanggal"
msgctxt "view:attendance.line:"
msgid "Time"
msgstr "Waktu"
msgctxt "view:attendance.period:"
msgid "Time"
msgstr "Waktu"

247
modules/attendance/locale/it.po Executable file
View File

@@ -0,0 +1,247 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr "A"
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr "Azienda"
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr "Data"
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr "Dipendente"
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr "Tipo"
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr "Azienda"
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr "Finisce alle"
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr "Stato"
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr "Azienda"
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr "Data"
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr "Durata"
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr "Dipendente"
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr "Azienda"
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr "Data"
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr "Durata"
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr "Dipendente"
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr "Da"
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr "Foglio"
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr "A"
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr ""
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr ""
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr ""
msgctxt "model:attendance.line,name:"
msgid "Attendance Line"
msgstr ""
msgctxt "model:attendance.period,name:"
msgid "Attendance Period"
msgstr ""
msgctxt "model:attendance.sheet,name:"
msgid "Attendance Sheet"
msgstr "Foglio presenze"
msgctxt "model:attendance.sheet.line,name:"
msgid "Attendance SheetLine"
msgstr ""
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr "Presenze"
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr "Foglio"
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr "Chiudi"
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr "Bozza"
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr "Configurazione"
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr ""
#, fuzzy
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr "Foglio"
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr "Bozza"
msgctxt "view:attendance.line:"
msgid "Date"
msgstr "Data"
msgctxt "view:attendance.line:"
msgid "Time"
msgstr ""
msgctxt "view:attendance.period:"
msgid "Time"
msgstr ""

245
modules/attendance/locale/lo.po Executable file
View File

@@ -0,0 +1,245 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr ""
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr ""
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr ""
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr ""
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr ""
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr ""
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr ""
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr ""
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr ""
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr ""
msgctxt "model:attendance.line,name:"
msgid "Attendance Line"
msgstr ""
msgctxt "model:attendance.period,name:"
msgid "Attendance Period"
msgstr ""
msgctxt "model:attendance.sheet,name:"
msgid "Attendance Sheet"
msgstr ""
msgctxt "model:attendance.sheet.line,name:"
msgid "Attendance SheetLine"
msgstr ""
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr ""
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Date"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Time"
msgstr ""
msgctxt "view:attendance.period:"
msgid "Time"
msgstr ""

245
modules/attendance/locale/lt.po Executable file
View File

@@ -0,0 +1,245 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr ""
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr ""
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr ""
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr ""
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr ""
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr ""
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr ""
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr ""
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr ""
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr ""
msgctxt "model:attendance.line,name:"
msgid "Attendance Line"
msgstr ""
msgctxt "model:attendance.period,name:"
msgid "Attendance Period"
msgstr ""
msgctxt "model:attendance.sheet,name:"
msgid "Attendance Sheet"
msgstr ""
msgctxt "model:attendance.sheet.line,name:"
msgid "Attendance SheetLine"
msgstr ""
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr ""
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Date"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Time"
msgstr ""
msgctxt "view:attendance.period:"
msgid "Time"
msgstr ""

253
modules/attendance/locale/nl.po Executable file
View File

@@ -0,0 +1,253 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr "Om"
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr "Bedrijf"
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr "Datum"
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr "Werknemer"
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr "Soort"
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr "Bedrijf"
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr "Eindigt op"
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr "Status"
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr "Bedrijf"
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr "Datum"
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr "Duur"
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr "Werknemer"
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr "Regels"
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr "Urenstaat Duur"
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr "Bedrijf"
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr "Datum"
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr "Duur"
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr "Werknemer"
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr "Van"
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr "Staat"
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr "Tot"
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr "Het bedrijf waar de werknemer aanwezig was."
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr "Het bedrijf waaraan de periode is gekoppeld."
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr "De huidige staat van de aanwezigheidsperiode."
msgctxt "model:attendance.line,name:"
msgid "Attendance Line"
msgstr "Aanwezigheidslijn"
msgctxt "model:attendance.period,name:"
msgid "Attendance Period"
msgstr "Aanwezigheidsperiode"
msgctxt "model:attendance.sheet,name:"
msgid "Attendance Sheet"
msgstr "Aanwezigheidsstaat"
msgctxt "model:attendance.sheet.line,name:"
msgid "Attendance SheetLine"
msgstr "Aanwezigheidsstaat regel"
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr "Aanwezigen"
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr "Periodes"
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr "Staten"
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
"Om periode \"%(period)s\" te sluiten, moet u eerst \"%(other_period)s\" "
"sluiten."
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
"Om aanwezigheid \"%(attendance)s\" te verwijderen, moet u periode "
"\"%(period)s\" opnieuw openen."
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
"Om periode \"%(period)s\" te sluiten, moet u eerst \"%(other_period)s\" "
"terug in concept zetten."
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
"Om aanwezigheid \"%(attendance)s\" te wijzigen, moet u periode "
"\"%(period)s\" opnieuw openen."
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr "Sluiten"
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr "Concept"
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr "Eigen aanwezigheid"
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr "Alle aanwezigheid"
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr "Gebruiker in bedrijven"
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr "Gebruiker in bedrijven"
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr "Eigen aanwezigheidsstaat"
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr "Alle aanwezigheidsstaten"
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr "Gebruiker in bedrijven"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr "Eigen aanwezigheidsstaat regel"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr "Alle aanwezigheidsstaat regel"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr "Gebruiker in bedrijven"
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr "Aanwezigheid"
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr "Configuratie"
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr "Aanwezigheid"
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr "Periodes"
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr "Staten"
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr "Aanwezigheid Administratie"
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr "Inkomend"
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr "Uitgaand"
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr "Gesloten"
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr "Concept"
msgctxt "view:attendance.line:"
msgid "Date"
msgstr "Datum"
msgctxt "view:attendance.line:"
msgid "Time"
msgstr "Tijd"
msgctxt "view:attendance.period:"
msgid "Time"
msgstr "Tijd"

245
modules/attendance/locale/pl.po Executable file
View File

@@ -0,0 +1,245 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr ""
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr ""
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr ""
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr ""
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr ""
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr ""
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr ""
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr ""
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr ""
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr ""
msgctxt "model:attendance.line,name:"
msgid "Attendance Line"
msgstr ""
msgctxt "model:attendance.period,name:"
msgid "Attendance Period"
msgstr ""
msgctxt "model:attendance.sheet,name:"
msgid "Attendance Sheet"
msgstr ""
msgctxt "model:attendance.sheet.line,name:"
msgid "Attendance SheetLine"
msgstr ""
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr ""
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr "Konfiguracja"
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Date"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Time"
msgstr ""
msgctxt "view:attendance.period:"
msgid "Time"
msgstr ""

245
modules/attendance/locale/pt.po Executable file
View File

@@ -0,0 +1,245 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr ""
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr ""
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr ""
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr ""
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr ""
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr ""
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr ""
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr ""
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr ""
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr ""
msgctxt "model:attendance.line,name:"
msgid "Attendance Line"
msgstr ""
msgctxt "model:attendance.period,name:"
msgid "Attendance Period"
msgstr ""
msgctxt "model:attendance.sheet,name:"
msgid "Attendance Sheet"
msgstr ""
msgctxt "model:attendance.sheet.line,name:"
msgid "Attendance SheetLine"
msgstr ""
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr ""
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Date"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Time"
msgstr ""
msgctxt "view:attendance.period:"
msgid "Time"
msgstr ""

258
modules/attendance/locale/ro.po Executable file
View File

@@ -0,0 +1,258 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr "La"
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr "Companie"
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr "Data"
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr "Angajat"
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr "Tip"
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr "Compania"
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr "Se termină la"
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr "Stare"
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr "Compania"
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr "Data"
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr "Durată"
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr "Angajat"
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr "Rânduri"
#, fuzzy
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr "Durata foii de pontaj"
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr "Companie"
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr "Data"
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr "Durată"
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr "Angajat"
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr "De la"
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr "Foaie"
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr "La"
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr ""
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr "Compania cu care este asociată perioada."
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr "Starea actuală a perioadei de prezență."
msgctxt "model:attendance.line,name:"
msgid "Attendance Line"
msgstr "Linia de prezență"
msgctxt "model:attendance.period,name:"
msgid "Attendance Period"
msgstr "Perioada de prezență"
msgctxt "model:attendance.sheet,name:"
msgid "Attendance Sheet"
msgstr "Fișa de prezență"
msgctxt "model:attendance.sheet.line,name:"
msgid "Attendance SheetLine"
msgstr ""
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr "Prezențe"
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr "Perioade"
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr "Foi"
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
"Pentru a închide perioada \"%(period)s\" trebuie mai întâi închisă perioada "
"\"%(other_period)s\"."
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
"Pentru a șterge prezența \"%(attendance)s\" trebuie să redeschideți perioada"
" \"%(period)s\"."
#, fuzzy
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
"Pentru a schimba perioada \"%(period)s\", trebuie ca mai întâi "
"\"%(other_period)s\" să fie setată ca ciornă."
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
"Pentru a modifica prezența \"%(attendance)s\" trebuie redeschisă perioada "
"\"%(period)s\"."
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr "Închidere"
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr "Draft"
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr "Prezența proprie"
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr "Orice prezență"
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr "Utilizator în Companii"
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr "Utilizator în companii"
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr "Fișa de prezență proprie"
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr "Orice foaie de prezență"
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr "Utilizator în Companii"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr "Rândul propriu pe foaia de prezență"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr "Orice rând pe foaia de prezență"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr "Utilizator în Companii"
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr "Prezențe"
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr "Configurare"
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr "Prezență"
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr "Perioade"
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr "Foi"
#, fuzzy
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr "Administrarea prezenței"
#, fuzzy
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr "În"
#, fuzzy
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr "Afară"
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr "Închis"
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr "Ciornă"
msgctxt "view:attendance.line:"
msgid "Date"
msgstr "Data"
msgctxt "view:attendance.line:"
msgid "Time"
msgstr "Timp"
msgctxt "view:attendance.period:"
msgid "Time"
msgstr "Timp"

245
modules/attendance/locale/ru.po Executable file
View File

@@ -0,0 +1,245 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr ""
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr ""
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr ""
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr ""
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr ""
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr ""
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr ""
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr ""
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr ""
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr ""
msgctxt "model:attendance.line,name:"
msgid "Attendance Line"
msgstr ""
msgctxt "model:attendance.period,name:"
msgid "Attendance Period"
msgstr ""
msgctxt "model:attendance.sheet,name:"
msgid "Attendance Sheet"
msgstr ""
msgctxt "model:attendance.sheet.line,name:"
msgid "Attendance SheetLine"
msgstr ""
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr ""
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Date"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Time"
msgstr ""
msgctxt "view:attendance.period:"
msgid "Time"
msgstr ""

253
modules/attendance/locale/sl.po Executable file
View File

@@ -0,0 +1,253 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr "Ob"
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr "Družba"
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr "Datum"
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr "Zaposlenec"
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr "Vrsta"
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr "Družba"
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr "Zaključek"
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr "Stanje"
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr "Družba"
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr "Datum"
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr "Trajanje"
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr "Zaposlenec"
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr "Vrstice"
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr "Skupni zabeleženi čas"
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr "Družba"
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr "Datum"
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr "Trajanje"
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr "Zaposlenec"
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr "Od"
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr "List"
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr "Za"
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr "Družba, pri kateri je bil zaposlenec prisoten."
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr "Družba, s katero je povezano obdobje."
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr "Trenutno stanje obdobja prisotnosti."
msgctxt "model:attendance.line,name:"
msgid "Attendance Line"
msgstr "Vrstica prisotnosti"
msgctxt "model:attendance.period,name:"
msgid "Attendance Period"
msgstr "Obdobje prisotnosti"
msgctxt "model:attendance.sheet,name:"
msgid "Attendance Sheet"
msgstr "Seznam prisotnosti"
msgctxt "model:attendance.sheet.line,name:"
msgid "Attendance SheetLine"
msgstr "Vrstica seznama prisotnosti"
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr "Prisotnost"
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr "Obdobja"
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr "Seznami"
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
"Za zaprtje obdobja \"%(period)s\", je potrebno najprej zapreti "
"\"%(other_period)s\"."
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
"Za izbris prisotnosti \"%(attendance)s\", je potrebno ponovno odpreti "
"obdobje \"%(period)s\"."
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
"Za spremembo obdobja \"%(period)s\", je potrebno najprej spremeniti stanje "
"\"%(other_period)s\" v osnutek."
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
"Za spremembo prisotnosti \"%(attendance)s\", je potrebno ponovno odpreti "
"obdobje \"%(period)s\"."
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr "Zapri"
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr "Osnutek"
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr "Lastna prisotnost"
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr "Vsa prisotnost"
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr "Uporabnik v družbah"
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr "Uporabnik v družbah"
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr "Lastni seznam prisotnosti"
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr "Vsi seznami prisotnosti"
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr "Uporabnik v družbah"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr "Lastne vrstice seznama prisotnosti"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr "Vse vrstice seznama prisotnosti"
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr "Uporabnik v družbah"
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr "Prisotnost"
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr "Konfiguracija"
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr "Prisotnost"
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr "Obdobja"
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr "Seznami"
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr "Skrbništvo prisotnosti"
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr "Prihod"
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr "Odhod"
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr "Zaprto"
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr "Osnutek"
msgctxt "view:attendance.line:"
msgid "Date"
msgstr "Datum"
msgctxt "view:attendance.line:"
msgid "Time"
msgstr "Čas"
msgctxt "view:attendance.period:"
msgid "Time"
msgstr "Čas"

245
modules/attendance/locale/tr.po Executable file
View File

@@ -0,0 +1,245 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr ""
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr ""
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr ""
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr ""
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr ""
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr ""
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr ""
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr ""
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr ""
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr ""
msgctxt "model:attendance.line,name:"
msgid "Attendance Line"
msgstr ""
msgctxt "model:attendance.period,name:"
msgid "Attendance Period"
msgstr ""
msgctxt "model:attendance.sheet,name:"
msgid "Attendance Sheet"
msgstr ""
msgctxt "model:attendance.sheet.line,name:"
msgid "Attendance SheetLine"
msgstr ""
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr ""
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Date"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Time"
msgstr ""
msgctxt "view:attendance.period:"
msgid "Time"
msgstr ""

245
modules/attendance/locale/uk.po Executable file
View File

@@ -0,0 +1,245 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr ""
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr ""
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr ""
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr ""
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr ""
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr ""
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr ""
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr ""
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr ""
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr ""
msgctxt "model:attendance.line,name:"
msgid "Attendance Line"
msgstr ""
msgctxt "model:attendance.period,name:"
msgid "Attendance Period"
msgstr ""
msgctxt "model:attendance.sheet,name:"
msgid "Attendance Sheet"
msgstr ""
msgctxt "model:attendance.sheet.line,name:"
msgid "Attendance SheetLine"
msgstr ""
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr "Закрити"
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr "Користувач у компаніях"
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr "Налаштування"
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Date"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Time"
msgstr ""
msgctxt "view:attendance.period:"
msgid "Time"
msgstr ""

View File

@@ -0,0 +1,245 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:attendance.line,at:"
msgid "At"
msgstr ""
msgctxt "field:attendance.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.line,type:"
msgid "Type"
msgstr ""
msgctxt "field:attendance.period,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.period,ends_at:"
msgid "Ends at"
msgstr ""
msgctxt "field:attendance.period,state:"
msgid "State"
msgstr ""
msgctxt "field:attendance.sheet,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:attendance.sheet,timesheet_duration:"
msgid "Timesheet Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:attendance.sheet.line,date:"
msgid "Date"
msgstr ""
msgctxt "field:attendance.sheet.line,duration:"
msgid "Duration"
msgstr ""
msgctxt "field:attendance.sheet.line,employee:"
msgid "Employee"
msgstr ""
msgctxt "field:attendance.sheet.line,from_:"
msgid "From"
msgstr ""
msgctxt "field:attendance.sheet.line,sheet:"
msgid "Sheet"
msgstr ""
msgctxt "field:attendance.sheet.line,to:"
msgid "To"
msgstr ""
msgctxt "help:attendance.line,company:"
msgid "The company which the employee attended."
msgstr ""
msgctxt "help:attendance.period,company:"
msgid "The company the period is associated with."
msgstr ""
msgctxt "help:attendance.period,state:"
msgid "The current state of the attendance period."
msgstr ""
msgctxt "model:attendance.line,name:"
msgid "Attendance Line"
msgstr ""
msgctxt "model:attendance.period,name:"
msgid "Attendance Period"
msgstr ""
msgctxt "model:attendance.sheet,name:"
msgid "Attendance Sheet"
msgstr ""
msgctxt "model:attendance.sheet.line,name:"
msgid "Attendance SheetLine"
msgstr ""
msgctxt "model:ir.action,name:act_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.action,name:act_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.action,name:act_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:ir.message,text:msg_close_period_previous_open"
msgid "To close period \"%(period)s\" you must first close \"%(other_period)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_delete_period_close"
msgid "To delete attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_draft_period_previous_closed"
msgid ""
"To change period \"%(period)s\" you must first change \"%(other_period)s\" "
"to draft."
msgstr ""
msgctxt "model:ir.message,text:msg_modify_period_close"
msgid "To modify attendance \"%(attendance)s\" you must reopen period \"%(period)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:period_close_button"
msgid "Close"
msgstr "结账"
msgctxt "model:ir.model.button,string:period_draft_button"
msgid "Draft"
msgstr "草案"
msgctxt "model:ir.rule.group,name:rule_group_attendance"
msgid "Own attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_admin"
msgid "Any attendance"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_attendance_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_period_companies"
msgid "User in companies"
msgstr "公司中的用户"
msgctxt "model:ir.rule.group,name:rule_group_sheet"
msgid "Own attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_admin"
msgid "Any attendance sheet"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line"
msgid "Own attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_admin"
msgid "Any attendance sheet line"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sheet_line_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_attendance"
msgid "Attendances"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_configuration"
msgid "Configuration"
msgstr "设置"
msgctxt "model:ir.ui.menu,name:menu_main_attendance"
msgid "Attendance"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_period_list"
msgid "Periods"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sheet"
msgid "Sheets"
msgstr ""
msgctxt "model:res.group,name:group_attendance_admin"
msgid "Attendance Administration"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "In"
msgstr ""
msgctxt "selection:attendance.line,type:"
msgid "Out"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:attendance.period,state:"
msgid "Draft"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Date"
msgstr ""
msgctxt "view:attendance.line:"
msgid "Time"
msgstr ""
msgctxt "view:attendance.period:"
msgid "Time"
msgstr ""

19
modules/attendance/message.xml Executable file
View File

@@ -0,0 +1,19 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tryton>
<data grouped="1">
<record model="ir.message" id="msg_modify_period_close">
<field name="text">To modify attendance "%(attendance)s" you must reopen period "%(period)s".</field>
</record>
<record model="ir.message" id="msg_delete_period_close">
<field name="text">To delete attendance "%(attendance)s" you must reopen period "%(period)s".</field>
</record>
<record model="ir.message" id="msg_close_period_previous_open">
<field name="text">To close period "%(period)s" you must first close "%(other_period)s".</field>
</record>
<record model="ir.message" id="msg_draft_period_previous_closed">
<field name="text">To change period "%(period)s" you must first change "%(other_period)s" to draft.</field>
</record>
</data>
</tryton>

View File

@@ -0,0 +1,2 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.

View File

@@ -0,0 +1,94 @@
===================
Attendance Scenario
===================
Imports::
>>> import datetime as dt
>>> from dateutil.relativedelta import relativedelta
>>> from proteus import Model
>>> from trytond.modules.company.tests.tools import create_company, get_company
>>> from trytond.tests.tools import activate_modules, assertEqual, assertTrue
>>> now = dt.datetime.now()
>>> tomorrow = now + relativedelta(days=1)
>>> next_week = now + relativedelta(days=7)
Activate attendance.line module::
>>> config = activate_modules('attendance')
Create a company::
>>> _ = create_company()
>>> company = get_company()
Create an employee::
>>> Party = Model.get('party.party')
>>> Employee = Model.get('company.employee')
>>> employee = Employee()
>>> party = Party(name='Employee')
>>> party.save()
>>> employee.party = party
>>> employee.company = company
>>> employee.save()
Create an attendance record for the employee::
>>> Attendance = Model.get('attendance.line')
>>> attendance = Attendance()
>>> attendance.type
'in'
>>> attendance.employee = employee
>>> attendance.at = now
>>> attendance.save()
>>> assertEqual(attendance.date, now.date())
>>> assertTrue(attendance.rec_name)
When creating a new attendance the type is automatically set::
>>> attendance = Attendance()
>>> attendance.employee = employee
>>> attendance.at = now + relativedelta(hours=2)
>>> attendance.type
'out'
>>> attendance.save()
Close the period::
>>> Period = Model.get('attendance.period')
>>> period = Period()
>>> period.ends_at = now + relativedelta(hours=4)
>>> period.click('close')
>>> period.state
'closed'
>>> bool(period.rec_name)
True
You can't create attendances in closed periods::
>>> attendance = Attendance()
>>> attendance.employee = employee
>>> attendance.at = now
>>> attendance.type = 'in'
>>> attendance.save()
Traceback (most recent call last):
...
PeriodClosedError: ...
But it is possible in open periods::
>>> attendance.at = tomorrow
>>> attendance.save()
Update attendance date time, update its date::
>>> attendance.at = next_week
>>> attendance.save()
>>> assertEqual(attendance.date, next_week.date())

View File

@@ -0,0 +1,86 @@
=========================
Attendance Sheet Scenario
=========================
Imports::
>>> import datetime as dt
>>> from proteus import Model
>>> from trytond.modules.company.tests.tools import create_company, get_company
>>> from trytond.tests.tools import activate_modules
Activate attendance.line module::
>>> config = activate_modules('attendance')
Create a company::
>>> _ = create_company()
>>> company = get_company()
Create employees::
>>> Party = Model.get('party.party')
>>> Employee = Model.get('company.employee')
>>> employee1 = Employee()
>>> party1 = Party(name='Employee 1')
>>> party1.save()
>>> employee1.party = party1
>>> employee1.company = company
>>> employee1.save()
>>> employee2 = Employee()
>>> party2 = Party(name='Employee 2')
>>> party2.save()
>>> employee2.party = party2
>>> employee2.company = company
>>> employee2.save()
Fill attendances::
>>> Attendance = Model.get('attendance.line')
>>> def present(employee, type, at):
... attendance = Attendance(employee=employee, at=at)
... attendance.type = type
... attendance.save()
>>> present(employee1, 'in', dt.datetime(2020, 4, 1, 9))
>>> present(employee1, 'out', dt.datetime(2020, 4, 1, 12))
>>> present(employee1, 'in', dt.datetime(2020, 4, 1, 13))
>>> present(employee1, 'in', dt.datetime(2020, 4, 1, 15))
>>> present(employee1, 'out', dt.datetime(2020, 4, 1, 18))
Check attendance sheet::
>>> Sheet = Model.get('attendance.sheet')
>>> sheet, = Sheet.find([])
>>> sheet.duration
datetime.timedelta(seconds=28800)
>>> sheet.date
datetime.date(2020, 4, 1)
>>> len(sheet.lines)
3
>>> sum([l.duration for l in sheet.lines], dt.timedelta())
datetime.timedelta(seconds=28800)
Fill attendance over 1 day::
>>> present(employee1, 'in', dt.datetime(2020, 4, 2, 20))
>>> present(employee1, 'out', dt.datetime(2020, 4, 3, 6))
Check attendance sheet::
>>> sheet, = Sheet.find([('date', '=', dt.date(2020, 4, 2))])
>>> sheet.duration
datetime.timedelta(seconds=36000)
Add attendance for other employee::
>>> present(employee2, 'in', dt.datetime(2020, 4, 1, 10))
>>> present(employee2, 'out', dt.datetime(2020, 4, 1, 16))
Check attendance sheet::
>>> sheet, = Sheet.find([('employee', '=', employee2.id)])
>>> sheet.duration
datetime.timedelta(seconds=21600)

View File

@@ -0,0 +1,77 @@
=============================
Attendance Timesheet Scenario
=============================
Imports::
>>> import datetime as dt
>>> from proteus import Model
>>> from trytond import backend
>>> from trytond.modules.company.tests.tools import create_company, get_company
>>> from trytond.tests.tools import activate_modules, assertEqual
Activate attendance.line module::
>>> config = activate_modules(['attendance', 'timesheet'])
Create a company::
>>> _ = create_company()
>>> company = get_company()
Create work::
>>> Work = Model.get('timesheet.work')
>>> work = Work(name="Work")
>>> work.save()
Create an employee::
>>> Party = Model.get('party.party')
>>> Employee = Model.get('company.employee')
>>> employee = Employee()
>>> party = Party(name='Employee')
>>> party.save()
>>> employee.party = party
>>> employee.company = company
>>> employee.save()
Fill attendance::
>>> Attendance = Model.get('attendance.line')
>>> def present(employee, type, at):
... attendance = Attendance(employee=employee, at=at)
... attendance.type = type
... attendance.save()
>>> present(employee, 'in', dt.datetime(2020, 4, 1, 9))
>>> present(employee, 'out', dt.datetime(2020, 4, 1, 12))
>>> present(employee, 'in', dt.datetime(2020, 4, 1, 13))
>>> present(employee, 'out', dt.datetime(2020, 4, 1, 18))
Fill time sheet::
>>> Timesheet = Model.get('timesheet.line')
>>> def spend(employee, work, date, duration):
... timesheet = Timesheet(employee=employee, work=work)
... timesheet.date = date
... timesheet.duration = duration
... timesheet.save()
>>> spend(employee, work, dt.date(2020, 4, 1), dt.timedelta(hours=7))
>>> spend(employee, work, dt.date(2020, 4, 2), dt.timedelta(hours=2))
Check attendance time sheet::
>>> Sheet = Model.get('attendance.sheet')
>>> sheet, = Sheet.find([('date', '=', dt.date(2020, 4, 1))])
>>> sheet.duration
datetime.timedelta(seconds=28800)
>>> sheet.timesheet_duration
datetime.timedelta(seconds=25200)
>>> if backend.name != 'sqlite':
... sheet, = Sheet.find([('date', '=', dt.date(2020, 4, 2))])
... sheet.duration
... assertEqual(sheet.timesheet_duration, dt.timedelta(hours=2))

View File

@@ -0,0 +1,14 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.modules.company.tests import CompanyTestMixin
from trytond.tests.test_tryton import ModuleTestCase
class CompanyAttendanceTestCase(CompanyTestMixin, ModuleTestCase):
'Test Company Attendance module'
module = 'attendance'
extras = ['timesheet']
del ModuleTestCase

View File

@@ -0,0 +1,8 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.tests.test_tryton import load_doc_tests
def load_tests(*args, **kwargs):
return load_doc_tests(__name__, __file__, *args, **kwargs)

10
modules/attendance/tryton.cfg Executable file
View File

@@ -0,0 +1,10 @@
[tryton]
version=7.2.1
depends:
ir
company
extras_depend:
timesheet
xml:
attendance.xml
message.xml

View File

@@ -0,0 +1,13 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<form>
<label name="employee"/>
<field name="employee"/>
<label name="company"/>
<field name="company"/>
<label name="type"/>
<field name="type"/>
<label name="at"/>
<field name="at"/>
</form>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tree>
<field name="company" expand="1" optional="1"/>
<field name="employee" expand="2"/>
<field name="type"/>
<field name="at" widget="date" string="Date"/>
<field name="at" widget="time" string="Time"/>
</tree>

View File

@@ -0,0 +1,15 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<form>
<label name="company"/>
<field name="company"/>
<label name="ends_at"/>
<field name="ends_at"/>
<label name="state"/>
<field name="state"/>
<group col="-1" colspan="2" id="buttons">
<button name="draft" icon="tryton-clear"/>
<button name="close" icon="tryton-ok"/>
</group>
</form>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tree>
<field name="company" expand="1" optional="1"/>
<field name="ends_at" widget="date"/>
<field name="ends_at" widget="time" string="Time"/>
<field name="state"/>
</tree>

View File

@@ -0,0 +1,15 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<form>
<label name="employee"/>
<field name="employee"/>
<label name="company"/>
<field name="company"/>
<label name="date"/>
<field name="date"/>
<newline/>
<label name="duration"/>
<field name="duration"/>
<field name="lines" colspan="4"/>
</form>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<data>
<xpath expr="//field[@name='duration']" position="after">
<label name="timesheet_duration"/>
<field name="timesheet_duration"/>
</xpath>
</data>

View File

@@ -0,0 +1,15 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<form>
<label name="employee"/>
<field name="employee"/>
<label name="company"/>
<field name="company"/>
<label name="from_"/>
<field name="from_"/>
<label name="to"/>
<field name="to"/>
<label name="duration"/>
<field name="duration"/>
</form>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tree>
<field name="from_" widget="date" expand="1"/>
<field name="from_" widget="time" expand="1"/>
<field name="to" widget="date" expand="1"/>
<field name="to" widget="time" expand="1"/>
<field name="duration" expand="2"/>
</tree>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tree>
<field name="company" expand="1" optional="1"/>
<field name="employee" expand="2"/>
<field name="date"/>
<field name="duration" expand="2"/>
</tree>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<data>
<xpath expr="//field[@name='duration']" position="after">
<field name="timesheet_duration" expand="2"/>
</xpath>
</data>