[tryton-debian-vcs] tryton-modules-calendar-todo branch debian updated. debian/3.4.1-1-2-gf219c29
Mathias Behrle
tryton-debian-vcs at alioth.debian.org
Thu Apr 23 16:03:15 UTC 2015
The following commit has been merged in the debian branch:
https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi/?p=tryton/tryton-modules-calendar-todo.git;a=commitdiff;h=debian/3.4.1-1-2-gf219c29
commit f219c2924ebd70f66e26ac26023eb25ea23168a4
Author: Mathias Behrle <mathiasb at m9s.biz>
Date: Thu Apr 23 16:59:55 2015 +0200
Merging upstream version 3.6.0.
diff --git a/CHANGELOG b/CHANGELOG
index 5945e8c..63eb9c6 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,7 @@
-Version 3.4.1 - 2015-03-01
+Version 3.6.0 - 2015-04-20
* Bug fixes (see mercurial logs for details)
+* Add support for PyPy
+* Add full access to calendar admin. group
Version 3.4.0 - 2014-10-20
* Bug fixes (see mercurial logs for details)
diff --git a/PKG-INFO b/PKG-INFO
index 29300b5..7c24e9c 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,12 +1,12 @@
Metadata-Version: 1.1
Name: trytond_calendar_todo
-Version: 3.4.1
+Version: 3.6.0
Summary: Tryton module to add TODO on CalDAV
Home-page: http://www.tryton.org/
Author: Tryton
Author-email: issue_tracker at tryton.org
License: GPL-3
-Download-URL: http://downloads.tryton.org/3.4/
+Download-URL: http://downloads.tryton.org/3.6/
Description: trytond_calendar_todo
=====================
@@ -66,4 +66,6 @@ Classifier: Natural Language :: Slovenian
Classifier: Natural Language :: Spanish
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: Implementation :: CPython
+Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Office/Business
diff --git a/__init__.py b/__init__.py
index 5092231..1b3a3b9 100644
--- a/__init__.py
+++ b/__init__.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton. The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# 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 caldav
diff --git a/caldav.py b/caldav.py
index b5f32b3..58a8773 100644
--- a/caldav.py
+++ b/caldav.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton. The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# 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 pywebdav.lib import propfind
from pywebdav.lib.utils import get_uriparentpath
from trytond.protocols.webdav import TrytonDAVInterface
@@ -13,13 +13,13 @@ def mk_prop_response(self, uri, good_props, bad_props, doc):
if not parent_uri:
return res
dbname, parent_uri = TrytonDAVInterface.get_dburi(parent_uri)
- #Disable groupdav attribute for iPhone
- #if parent_uri in ('Calendars', 'Calendars/'):
- # vc = doc.createElement('vtodo-collection')
- # vc.setAttribute('xmlns', 'http://groupdav.org/')
- # cols = res.getElementsByTagName('D:collection')
- # if cols:
- # cols[0].parentNode.appendChild(vc)
+ # Disable groupdav attribute for iPhone
+ # if parent_uri in ('Calendars', 'Calendars/'):
+ # vc = doc.createElement('vtodo-collection')
+ # vc.setAttribute('xmlns', 'http://groupdav.org/')
+ # cols = res.getElementsByTagName('D:collection')
+ # if cols:
+ # cols[0].parentNode.appendChild(vc)
return res
propfind.PROPFIND.mk_prop_response = mk_prop_response
diff --git a/locale/bg_BG.po b/locale/bg_BG.po
index 96b9317..b3879b6 100644
--- a/locale/bg_BG.po
+++ b/locale/bg_BG.po
@@ -102,18 +102,6 @@ msgctxt "field:calendar.todo,calendar:"
msgid "Calendar"
msgstr "Календар"
-msgctxt "field:calendar.todo,calendar_owner:"
-msgid "Owner"
-msgstr "Собственик"
-
-msgctxt "field:calendar.todo,calendar_read_users:"
-msgid "Read Users"
-msgstr "Потребители с права за четене"
-
-msgctxt "field:calendar.todo,calendar_write_users:"
-msgid "Write Users"
-msgstr "Записване на потребители"
-
msgctxt "field:calendar.todo,categories:"
msgid "Categories"
msgstr "Категории"
diff --git a/locale/ca_ES.po b/locale/ca_ES.po
index 950fd97..fbe2818 100644
--- a/locale/ca_ES.po
+++ b/locale/ca_ES.po
@@ -110,18 +110,6 @@ msgctxt "field:calendar.todo,calendar:"
msgid "Calendar"
msgstr "Calendari"
-msgctxt "field:calendar.todo,calendar_owner:"
-msgid "Owner"
-msgstr "Propietaris"
-
-msgctxt "field:calendar.todo,calendar_read_users:"
-msgid "Read Users"
-msgstr "Usuaris amb permisos de lectura"
-
-msgctxt "field:calendar.todo,calendar_write_users:"
-msgid "Write Users"
-msgstr "Usuaris amb permisos d'escriptura"
-
msgctxt "field:calendar.todo,categories:"
msgid "Categories"
msgstr "Categories"
@@ -148,7 +136,7 @@ msgstr "Descripció"
msgctxt "field:calendar.todo,dtstart:"
msgid "Start Date"
-msgstr "Data inici"
+msgstr "Data inicial"
msgctxt "field:calendar.todo,due:"
msgid "Due Date"
@@ -877,6 +865,10 @@ msgid "Categories"
msgstr "Categories"
msgctxt "view:calendar.todo:"
+msgid "Due Time"
+msgstr "Hora de venciment"
+
+msgctxt "view:calendar.todo:"
msgid "General"
msgstr "General"
@@ -885,6 +877,10 @@ msgid "Occurences"
msgstr "Ocurrències"
msgctxt "view:calendar.todo:"
+msgid "Start Time"
+msgstr "Hora d'inici"
+
+msgctxt "view:calendar.todo:"
msgid "Todo"
msgstr "Tasca"
diff --git a/locale/cs_CZ.po b/locale/cs_CZ.po
index 7254d90..8b7670a 100644
--- a/locale/cs_CZ.po
+++ b/locale/cs_CZ.po
@@ -102,18 +102,6 @@ msgctxt "field:calendar.todo,calendar:"
msgid "Calendar"
msgstr ""
-msgctxt "field:calendar.todo,calendar_owner:"
-msgid "Owner"
-msgstr ""
-
-msgctxt "field:calendar.todo,calendar_read_users:"
-msgid "Read Users"
-msgstr ""
-
-msgctxt "field:calendar.todo,calendar_write_users:"
-msgid "Write Users"
-msgstr ""
-
msgctxt "field:calendar.todo,categories:"
msgid "Categories"
msgstr ""
diff --git a/locale/de_DE.po b/locale/de_DE.po
index 20c70d1..2f4c9c4 100644
--- a/locale/de_DE.po
+++ b/locale/de_DE.po
@@ -103,18 +103,6 @@ msgctxt "field:calendar.todo,calendar:"
msgid "Calendar"
msgstr "Kalender"
-msgctxt "field:calendar.todo,calendar_owner:"
-msgid "Owner"
-msgstr "Besitzer"
-
-msgctxt "field:calendar.todo,calendar_read_users:"
-msgid "Read Users"
-msgstr "Benutzer mit Leseberechtigung"
-
-msgctxt "field:calendar.todo,calendar_write_users:"
-msgid "Write Users"
-msgstr "Benutzer mit Schreibberechtigung"
-
msgctxt "field:calendar.todo,categories:"
msgid "Categories"
msgstr "Kategorien"
@@ -341,7 +329,7 @@ msgstr "Erstellt durch"
msgctxt "field:calendar.todo.exdate,date:"
msgid "Is Date"
-msgstr "Als Datum"
+msgstr "Nur Datum verwenden"
msgctxt "field:calendar.todo.exdate,datetime:"
msgid "Date"
@@ -441,7 +429,7 @@ msgstr "Bis Datum"
msgctxt "field:calendar.todo.exrule,until_date:"
msgid "Is Date"
-msgstr "Als Datum"
+msgstr "Nur Datum verwenden"
msgctxt "field:calendar.todo.exrule,wkst:"
msgid "Week Day"
@@ -465,7 +453,7 @@ msgstr "Erstellt durch"
msgctxt "field:calendar.todo.rdate,date:"
msgid "Is Date"
-msgstr "Als Datum"
+msgstr "Nur Datum verwenden"
msgctxt "field:calendar.todo.rdate,datetime:"
msgid "Date"
@@ -565,7 +553,7 @@ msgstr "Bis Datum"
msgctxt "field:calendar.todo.rrule,until_date:"
msgid "Is Date"
-msgstr "Als Datum"
+msgstr "Nur Datum verwenden"
msgctxt "field:calendar.todo.rrule,wkst:"
msgid "Week Day"
@@ -876,6 +864,10 @@ msgid "Categories"
msgstr "Kategorien"
msgctxt "view:calendar.todo:"
+msgid "Due Time"
+msgstr "Fälligkeitszeit"
+
+msgctxt "view:calendar.todo:"
msgid "General"
msgstr "Allgemein"
@@ -884,6 +876,10 @@ msgid "Occurences"
msgstr "Ereignisse"
msgctxt "view:calendar.todo:"
+msgid "Start Time"
+msgstr "Anfangszeit"
+
+msgctxt "view:calendar.todo:"
msgid "Todo"
msgstr "Aufgabe"
diff --git a/locale/es_AR.po b/locale/es_AR.po
index 2028143..e5cfa91 100644
--- a/locale/es_AR.po
+++ b/locale/es_AR.po
@@ -114,18 +114,6 @@ msgctxt "field:calendar.todo,calendar:"
msgid "Calendar"
msgstr "Calendario"
-msgctxt "field:calendar.todo,calendar_owner:"
-msgid "Owner"
-msgstr "Dueño"
-
-msgctxt "field:calendar.todo,calendar_read_users:"
-msgid "Read Users"
-msgstr "Usuarios con lectura"
-
-msgctxt "field:calendar.todo,calendar_write_users:"
-msgid "Write Users"
-msgstr "Usuarios con escritura"
-
msgctxt "field:calendar.todo,categories:"
msgid "Categories"
msgstr "Categorías"
@@ -152,7 +140,7 @@ msgstr "Descripción"
msgctxt "field:calendar.todo,dtstart:"
msgid "Start Date"
-msgstr "Fecha inicio"
+msgstr "Fecha inicial"
msgctxt "field:calendar.todo,due:"
msgid "Due Date"
@@ -881,6 +869,10 @@ msgid "Categories"
msgstr "Categorías"
msgctxt "view:calendar.todo:"
+msgid "Due Time"
+msgstr "Hora prevista"
+
+msgctxt "view:calendar.todo:"
msgid "General"
msgstr "General"
@@ -889,6 +881,10 @@ msgid "Occurences"
msgstr "Ocurrencias"
msgctxt "view:calendar.todo:"
+msgid "Start Time"
+msgstr "Hora de inicio"
+
+msgctxt "view:calendar.todo:"
msgid "Todo"
msgstr "Tarea"
diff --git a/locale/es_CO.po b/locale/es_CO.po
index 4971dd1..6525472 100644
--- a/locale/es_CO.po
+++ b/locale/es_CO.po
@@ -102,18 +102,6 @@ msgctxt "field:calendar.todo,calendar:"
msgid "Calendar"
msgstr "Calendario"
-msgctxt "field:calendar.todo,calendar_owner:"
-msgid "Owner"
-msgstr "Propietario"
-
-msgctxt "field:calendar.todo,calendar_read_users:"
-msgid "Read Users"
-msgstr "Leer Usuarios"
-
-msgctxt "field:calendar.todo,calendar_write_users:"
-msgid "Write Users"
-msgstr "Modificado por Usuario"
-
msgctxt "field:calendar.todo,categories:"
msgid "Categories"
msgstr "Categorías"
@@ -871,6 +859,10 @@ msgid "Categories"
msgstr "Categorías"
msgctxt "view:calendar.todo:"
+msgid "Due Time"
+msgstr "Fecha Debida"
+
+msgctxt "view:calendar.todo:"
msgid "General"
msgstr "General"
@@ -879,6 +871,10 @@ msgid "Occurences"
msgstr "Ocurrencias"
msgctxt "view:calendar.todo:"
+msgid "Start Time"
+msgstr "Fecha de Inicio"
+
+msgctxt "view:calendar.todo:"
msgid "Todo"
msgstr "Pendiente"
diff --git a/locale/es_EC.po b/locale/es_EC.po
index 4886219..98f9271 100644
--- a/locale/es_EC.po
+++ b/locale/es_EC.po
@@ -4,87 +4,91 @@ msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "error:calendar.todo.exrule:"
msgid "Invalid \"By Day\" in recurrence rule \"%s\""
-msgstr "No válido campo \"Por Día\" en regla de recurrencia \"%s\""
+msgstr "El campo \"Por Día\" de la regla de recurrencia \"%s\" no es válido."
msgctxt "error:calendar.todo.exrule:"
msgid "Invalid \"By Hour\" in recurrence rule \"%s\""
-msgstr "No válido campo \"Por Hora\" en regla de recurrencia \"%s\""
+msgstr "El campo \"Por Hora\" de la regla de recurrencia \"%s\" no es válido."
msgctxt "error:calendar.todo.exrule:"
msgid "Invalid \"By Minute\" in recurrence rule \"%s\""
-msgstr "No válido campo \"Por Minuto\" en regla de recurrencia \"%s\""
+msgstr "El campo \"Por Minuto\" de la regla de recurrencia \"%s\" no es válido."
msgctxt "error:calendar.todo.exrule:"
msgid "Invalid \"By Month Day\" in recurrence rule \"%s\""
-msgstr "No válido campo \"Por Día del Mes\" en regla de recurrencia \"%s\""
+msgstr "El campo \"Por Día del Mes\" de la regla de recurrencia \"%s\" no es válido."
msgctxt "error:calendar.todo.exrule:"
msgid "Invalid \"By Month\" in recurrence rule \"%s\""
-msgstr "No válido campo \"Por Mes\" en regla de recurrencia \"%s\""
+msgstr "El campo \"Por Mes\" de la regla de recurrencia \"%s\" no es válido."
msgctxt "error:calendar.todo.exrule:"
msgid "Invalid \"By Position\" in recurrence rule \"%s\""
-msgstr "No válido campo \"Por Posición\" en regla de recurrencia \"%s\""
+msgstr "El campo \"Por Ubicación\" de la regla de recurrencia \"%s\" no es válido."
msgctxt "error:calendar.todo.exrule:"
msgid "Invalid \"By Second\" in recurrence rule \"%s\""
-msgstr "No válido campo \"Por Segundo\" en regla de recurrencia \"%s\""
+msgstr "El campo \"Por Segundo\" de la regla de recurrencia \"%s\" no es válido."
msgctxt "error:calendar.todo.exrule:"
msgid "Invalid \"By Week Number\" in recurrence rule \"%s\""
-msgstr "No válido campo \"Por Número de la Semana\" en regla de recurrencia \"%s\""
+msgstr ""
+"El campo \"Por Número de la Semana\" de la regla de recurrencia \"%s\" no es"
+" válido."
msgctxt "error:calendar.todo.exrule:"
msgid "Invalid \"By Year Day\" in recurrence rule \"%s\""
-msgstr "No válido campo \"Por Día del Año\" en regla de recurrencia \"%s\""
+msgstr "El campo \"Por Día del Año\" de la regla de recurrencia \"%s\" no es válido."
msgctxt "error:calendar.todo.exrule:"
msgid "Only one of \"until\" and \"count\" can be set."
-msgstr "Sólo un \"hasta\" y \"contar\" pude ser establecido."
+msgstr "¡Puede establecer \"hasta\" o bien \"nº de veces\", no ambos!"
msgctxt "error:calendar.todo.rrule:"
msgid "Invalid \"By Day\" in recurrence rule \"%s\""
-msgstr "No válido campo \"Por Día\" en regla de recurrencia \"%s\""
+msgstr "El campo \"Por Día\" de la regla de recurrencia \"%s\" no es válido."
msgctxt "error:calendar.todo.rrule:"
msgid "Invalid \"By Hour\" in recurrence rule \"%s\""
-msgstr "No válido campo \"Por Hora\" en regla de recurrencia \"%s\""
+msgstr "El campo \"Por Hora\" de la regla de recurrencia \"%s\" no es válido."
msgctxt "error:calendar.todo.rrule:"
msgid "Invalid \"By Minute\" in recurrence rule \"%s\""
-msgstr "No válido campo \"Por Minuto\" en regla de recurrencia \"%s\""
+msgstr "El campo \"Por Minuto\" de la regla de recurrencia \"%s\" no es válido."
msgctxt "error:calendar.todo.rrule:"
msgid "Invalid \"By Month Day\" in recurrence rule \"%s\""
-msgstr "No válido campo \"Por Día del Mes\" en regla de recurrencia \"%s\""
+msgstr "El campo \"Por Día del Mes\" de la regla de recurrencia \"%s\" no es válido."
msgctxt "error:calendar.todo.rrule:"
msgid "Invalid \"By Month\" in recurrence rule \"%s\""
-msgstr "No válido campo \"Por Mes\" en regla de recurrencia \"%s\""
+msgstr "El campo \"Por Mes\" de la regla de recurrencia \"%s\" no es válido."
msgctxt "error:calendar.todo.rrule:"
msgid "Invalid \"By Position\" in recurrence rule \"%s\""
-msgstr "No válido campo \"Por Posición\" en regla de recurrencia \"%s\""
+msgstr "El campo \"Por Ubicación\" de la regla de recurrencia \"%s\" no es válido."
msgctxt "error:calendar.todo.rrule:"
msgid "Invalid \"By Second\" in recurrence rule \"%s\""
-msgstr "No válido campo \"Por Segundo\" en regla de recurrencia \"%s\""
+msgstr "El campo \"Por Segundo\" de la regla de recurrencia \"%s\" no es válido."
msgctxt "error:calendar.todo.rrule:"
msgid "Invalid \"By Week Number\" in recurrence rule \"%s\""
-msgstr "No válido campo \"Por Número de la Semana\" en regla de recurrencia \"%s\""
+msgstr ""
+"El campo \"Por Número de la Semana\" de la regla de recurrencia \"%s\" no es"
+" válido."
msgctxt "error:calendar.todo.rrule:"
msgid "Invalid \"By Year Day\" in recurrence rule \"%s\""
-msgstr "No válido campo \"Por Día del Año\" en regla de recurrencia \"%s\""
+msgstr "El campo \"Por Día del Año\" de la regla de recurrencia \"%s\" no es válido."
msgctxt "error:calendar.todo.rrule:"
msgid "Only one of \"until\" and \"count\" can be set."
-msgstr "Solo un \"hasta\" y \"contar\" pude ser establecido!"
+msgstr "¡Puede establecer \"hasta\" o bien \"nº de veces\", no ambos!"
msgctxt "error:calendar.todo:"
msgid "Todo \"%s\" can not be recurrent."
-msgstr "La tarea pendiente \"%s\" no puede ser recurrente."
+msgstr "La tarea \"%s\" no puede ser recurrente."
msgctxt "error:calendar.todo:"
msgid "UUID and recurrence must be unique in a calendar."
@@ -102,18 +106,6 @@ msgctxt "field:calendar.todo,calendar:"
msgid "Calendar"
msgstr "Calendario"
-msgctxt "field:calendar.todo,calendar_owner:"
-msgid "Owner"
-msgstr "Propietario"
-
-msgctxt "field:calendar.todo,calendar_read_users:"
-msgid "Read Users"
-msgstr "Usuarios con permisos de lectura"
-
-msgctxt "field:calendar.todo,calendar_write_users:"
-msgid "Write Users"
-msgstr "Usuarios con Permisos de Escritura"
-
msgctxt "field:calendar.todo,categories:"
msgid "Categories"
msgstr "Categorías"
@@ -124,7 +116,7 @@ msgstr "Clasificación"
msgctxt "field:calendar.todo,completed:"
msgid "Completed"
-msgstr "Completado"
+msgstr "Completada"
msgctxt "field:calendar.todo,create_date:"
msgid "Create Date"
@@ -176,7 +168,7 @@ msgstr "Padre"
msgctxt "field:calendar.todo,percent_complete:"
msgid "Percent complete"
-msgstr "Porcentaje completo"
+msgstr "Porcentaje completado"
msgctxt "field:calendar.todo,rdates:"
msgid "Recurrence Dates"
@@ -248,7 +240,7 @@ msgstr "Nombre"
msgctxt "field:calendar.todo-calendar.category,todo:"
msgid "To-Do"
-msgstr "Pendiente"
+msgstr "Por hacer"
msgctxt "field:calendar.todo-calendar.category,write_date:"
msgid "Write Date"
@@ -276,7 +268,7 @@ msgstr "Nombre"
msgctxt "field:calendar.todo.alarm,todo:"
msgid "Todo"
-msgstr "Pendiente"
+msgstr "Tarea"
msgctxt "field:calendar.todo.alarm,valarm:"
msgid "valarm"
@@ -292,7 +284,7 @@ msgstr "Modificado por Usuario"
msgctxt "field:calendar.todo.attendee,attendee:"
msgid "attendee"
-msgstr "Asistente"
+msgstr "asistente"
msgctxt "field:calendar.todo.attendee,create_date:"
msgid "Create Date"
@@ -320,7 +312,7 @@ msgstr "Estado de Participación"
msgctxt "field:calendar.todo.attendee,todo:"
msgid "Todo"
-msgstr "Pendiente"
+msgstr "Tarea"
msgctxt "field:calendar.todo.attendee,write_date:"
msgid "Write Date"
@@ -356,7 +348,7 @@ msgstr "Nombre"
msgctxt "field:calendar.todo.exdate,todo:"
msgid "Todo"
-msgstr "Pendiente"
+msgstr "Tarea"
msgctxt "field:calendar.todo.exdate,write_date:"
msgid "Write Date"
@@ -404,7 +396,7 @@ msgstr "Por Día del Año"
msgctxt "field:calendar.todo.exrule,count:"
msgid "Count"
-msgstr "Contar"
+msgstr "Nº de veces"
msgctxt "field:calendar.todo.exrule,create_date:"
msgid "Create Date"
@@ -432,11 +424,11 @@ msgstr "Nombre"
msgctxt "field:calendar.todo.exrule,todo:"
msgid "Todo"
-msgstr "Pendiente"
+msgstr "Tarea"
msgctxt "field:calendar.todo.exrule,until:"
msgid "Until Date"
-msgstr "Hasta la Fecha"
+msgstr "Hasta la fecha"
msgctxt "field:calendar.todo.exrule,until_date:"
msgid "Is Date"
@@ -480,7 +472,7 @@ msgstr "Nombre"
msgctxt "field:calendar.todo.rdate,todo:"
msgid "Todo"
-msgstr "Pendiente"
+msgstr "Tarea"
msgctxt "field:calendar.todo.rdate,write_date:"
msgid "Write Date"
@@ -516,7 +508,7 @@ msgstr "Por Segundo"
msgctxt "field:calendar.todo.rrule,bysetpos:"
msgid "By Position"
-msgstr "Por Posición"
+msgstr "Por Ubicación"
msgctxt "field:calendar.todo.rrule,byweekno:"
msgid "By Week Number"
@@ -528,7 +520,7 @@ msgstr "Por Día del Año"
msgctxt "field:calendar.todo.rrule,count:"
msgid "Count"
-msgstr "Contar"
+msgstr "Nº de veces"
msgctxt "field:calendar.todo.rrule,create_date:"
msgid "Create Date"
@@ -556,7 +548,7 @@ msgstr "Nombre"
msgctxt "field:calendar.todo.rrule,todo:"
msgid "Todo"
-msgstr "Pendiente"
+msgstr "Tarea"
msgctxt "field:calendar.todo.rrule,until:"
msgid "Until Date"
@@ -584,27 +576,23 @@ msgstr "Identificador Universal Único"
msgctxt "help:calendar.todo.exdate,date:"
msgid "Ignore time of field \"Date\", but handle as date only."
-msgstr "Ignorar la hora del campo \"Fecha\", pero manejarla como fecha solamente."
+msgstr "Ignorar la hora del campo \"Fecha\" y considerar sólo la fecha."
msgctxt "help:calendar.todo.exrule,until_date:"
msgid "Ignore time of field \"Until Date\", but handle as date only."
-msgstr ""
-"Ignore tiempo del campo \"Hasta la Fecha\", pero manejelo como fecha "
-"solamente."
+msgstr "Ignorar la hora del campo \"Hasta la Fecha\" y considerar sólo la fecha."
msgctxt "help:calendar.todo.rdate,date:"
msgid "Ignore time of field \"Date\", but handle as date only."
-msgstr "Ignorar la hora del campo \"Fecha\", pero manejarla como fecha solamente."
+msgstr "Ignorar la hora del campo \"Fecha\" y considerar sólo la fecha."
msgctxt "help:calendar.todo.rrule,until_date:"
msgid "Ignore time of field \"Until Date\", but handle as date only."
-msgstr ""
-"Ignore tiempo del campo \"Hasta la Fecha\", pero manejelo como fecha "
-"solamente."
+msgstr "Ignorar la hora del campo \"Hasta la Fecha\" y considerar sólo la fecha."
msgctxt "model:calendar.todo,name:"
msgid "Todo"
-msgstr "Pendiente"
+msgstr "Tarea"
msgctxt "model:calendar.todo-calendar.category,name:"
msgid "Todo - Category"
@@ -628,7 +616,7 @@ msgstr "Regla de Excepción"
msgctxt "model:calendar.todo.rdate,name:"
msgid "Todo Recurrence Date"
-msgstr "Fecha de Recurrencia"
+msgstr "Fecha de Recurrencia de Tarea"
msgctxt "model:calendar.todo.rrule,name:"
msgid "Recurrence Rule"
@@ -688,7 +676,7 @@ msgstr "Aceptado"
msgctxt "selection:calendar.todo.attendee,status:"
msgid "Declined"
-msgstr "Declinado"
+msgstr "Rechazado"
msgctxt "selection:calendar.todo.attendee,status:"
msgid "Delegated"
@@ -700,7 +688,7 @@ msgstr "Necesita una Acción"
msgctxt "selection:calendar.todo.attendee,status:"
msgid "Tentative"
-msgstr "Tentativa"
+msgstr "Tentativo"
msgctxt "selection:calendar.todo.exrule,freq:"
msgid "Daily"
@@ -871,6 +859,10 @@ msgid "Categories"
msgstr "Categorías"
msgctxt "view:calendar.todo:"
+msgid "Due Time"
+msgstr "Hora de vencimiento"
+
+msgctxt "view:calendar.todo:"
msgid "General"
msgstr "General"
@@ -879,6 +871,10 @@ msgid "Occurences"
msgstr "Ocurrencias"
msgctxt "view:calendar.todo:"
+msgid "Start Time"
+msgstr "Hora de Inicio"
+
+msgctxt "view:calendar.todo:"
msgid "Todo"
msgstr "Tarea"
diff --git a/locale/es_ES.po b/locale/es_ES.po
index a919c8e..26f0785 100644
--- a/locale/es_ES.po
+++ b/locale/es_ES.po
@@ -114,18 +114,6 @@ msgctxt "field:calendar.todo,calendar:"
msgid "Calendar"
msgstr "Calendario"
-msgctxt "field:calendar.todo,calendar_owner:"
-msgid "Owner"
-msgstr "Propietario"
-
-msgctxt "field:calendar.todo,calendar_read_users:"
-msgid "Read Users"
-msgstr "Usuarios con permisos de lectura"
-
-msgctxt "field:calendar.todo,calendar_write_users:"
-msgid "Write Users"
-msgstr "Usuarios con permisos de escritura"
-
msgctxt "field:calendar.todo,categories:"
msgid "Categories"
msgstr "Categorías"
@@ -156,7 +144,7 @@ msgstr "Fecha inicial"
msgctxt "field:calendar.todo,due:"
msgid "Due Date"
-msgstr "Fecha vencimiento"
+msgstr "Fecha de vencimiento"
msgctxt "field:calendar.todo,exdates:"
msgid "Exception Dates"
@@ -879,6 +867,10 @@ msgid "Categories"
msgstr "Categorías"
msgctxt "view:calendar.todo:"
+msgid "Due Time"
+msgstr "Hora de vencimiento"
+
+msgctxt "view:calendar.todo:"
msgid "General"
msgstr "General"
@@ -887,6 +879,10 @@ msgid "Occurences"
msgstr "Ocurrencias"
msgctxt "view:calendar.todo:"
+msgid "Start Time"
+msgstr "Hora de inicio"
+
+msgctxt "view:calendar.todo:"
msgid "Todo"
msgstr "Tarea"
diff --git a/locale/fr_FR.po b/locale/fr_FR.po
index 4af50ed..71431fe 100644
--- a/locale/fr_FR.po
+++ b/locale/fr_FR.po
@@ -104,18 +104,6 @@ msgctxt "field:calendar.todo,calendar:"
msgid "Calendar"
msgstr "Calendrier"
-msgctxt "field:calendar.todo,calendar_owner:"
-msgid "Owner"
-msgstr "Propriétaire"
-
-msgctxt "field:calendar.todo,calendar_read_users:"
-msgid "Read Users"
-msgstr "Utilisateurs en lecture"
-
-msgctxt "field:calendar.todo,calendar_write_users:"
-msgid "Write Users"
-msgstr "Utilisateurs en écriture"
-
msgctxt "field:calendar.todo,categories:"
msgid "Categories"
msgstr "Catégories"
@@ -871,6 +859,10 @@ msgid "Categories"
msgstr "Catégories"
msgctxt "view:calendar.todo:"
+msgid "Due Time"
+msgstr "Heure d'échéance"
+
+msgctxt "view:calendar.todo:"
msgid "General"
msgstr "Général"
@@ -879,6 +871,10 @@ msgid "Occurences"
msgstr "Occurrences"
msgctxt "view:calendar.todo:"
+msgid "Start Time"
+msgstr "Heure de début"
+
+msgctxt "view:calendar.todo:"
msgid "Todo"
msgstr "Tâche"
diff --git a/locale/nl_NL.po b/locale/nl_NL.po
index 2a142ee..80e8b31 100644
--- a/locale/nl_NL.po
+++ b/locale/nl_NL.po
@@ -102,18 +102,6 @@ msgctxt "field:calendar.todo,calendar:"
msgid "Calendar"
msgstr ""
-msgctxt "field:calendar.todo,calendar_owner:"
-msgid "Owner"
-msgstr ""
-
-msgctxt "field:calendar.todo,calendar_read_users:"
-msgid "Read Users"
-msgstr ""
-
-msgctxt "field:calendar.todo,calendar_write_users:"
-msgid "Write Users"
-msgstr ""
-
#, fuzzy
msgctxt "field:calendar.todo,categories:"
msgid "Categories"
diff --git a/locale/ru_RU.po b/locale/ru_RU.po
index 75e61ff..2999507 100644
--- a/locale/ru_RU.po
+++ b/locale/ru_RU.po
@@ -102,18 +102,6 @@ msgctxt "field:calendar.todo,calendar:"
msgid "Calendar"
msgstr "Календарь"
-msgctxt "field:calendar.todo,calendar_owner:"
-msgid "Owner"
-msgstr "Владелец"
-
-msgctxt "field:calendar.todo,calendar_read_users:"
-msgid "Read Users"
-msgstr "Пользователи могут читать"
-
-msgctxt "field:calendar.todo,calendar_write_users:"
-msgid "Write Users"
-msgstr "Пользователи могут писать"
-
msgctxt "field:calendar.todo,categories:"
msgid "Categories"
msgstr "Категория"
diff --git a/locale/sl_SI.po b/locale/sl_SI.po
index f23744a..01c1b4d 100644
--- a/locale/sl_SI.po
+++ b/locale/sl_SI.po
@@ -84,7 +84,7 @@ msgstr "Nastavi se lahko samo \"do\" ali \"število\"."
msgctxt "error:calendar.todo:"
msgid "Todo \"%s\" can not be recurrent."
-msgstr "Todo \"%s\" se ne more ponavljati."
+msgstr "Zadolžitve \"%s\" ni možno ponavljati."
msgctxt "error:calendar.todo:"
msgid "UUID and recurrence must be unique in a calendar."
@@ -102,18 +102,6 @@ msgctxt "field:calendar.todo,calendar:"
msgid "Calendar"
msgstr "Koledar"
-msgctxt "field:calendar.todo,calendar_owner:"
-msgid "Owner"
-msgstr "Imetnik"
-
-msgctxt "field:calendar.todo,calendar_read_users:"
-msgid "Read Users"
-msgstr "Bralci"
-
-msgctxt "field:calendar.todo,calendar_write_users:"
-msgid "Write Users"
-msgstr "Zapisovalci"
-
msgctxt "field:calendar.todo,categories:"
msgid "Categories"
msgstr "Kategorije"
@@ -276,7 +264,7 @@ msgstr "Ime"
msgctxt "field:calendar.todo.alarm,todo:"
msgid "Todo"
-msgstr "Todo"
+msgstr "Zadolžitev"
msgctxt "field:calendar.todo.alarm,valarm:"
msgid "valarm"
@@ -320,7 +308,7 @@ msgstr "Status udeleženca"
msgctxt "field:calendar.todo.attendee,todo:"
msgid "Todo"
-msgstr "Todo"
+msgstr "Zadolžitev"
msgctxt "field:calendar.todo.attendee,write_date:"
msgid "Write Date"
@@ -356,7 +344,7 @@ msgstr "Ime"
msgctxt "field:calendar.todo.exdate,todo:"
msgid "Todo"
-msgstr "Todo"
+msgstr "Zadolžitev"
msgctxt "field:calendar.todo.exdate,write_date:"
msgid "Write Date"
@@ -432,7 +420,7 @@ msgstr "Ime"
msgctxt "field:calendar.todo.exrule,todo:"
msgid "Todo"
-msgstr "Todo"
+msgstr "Zadolžitev"
msgctxt "field:calendar.todo.exrule,until:"
msgid "Until Date"
@@ -480,7 +468,7 @@ msgstr "Ime"
msgctxt "field:calendar.todo.rdate,todo:"
msgid "Todo"
-msgstr "Todo"
+msgstr "Zadolžitev"
msgctxt "field:calendar.todo.rdate,write_date:"
msgid "Write Date"
@@ -556,7 +544,7 @@ msgstr "Ime"
msgctxt "field:calendar.todo.rrule,todo:"
msgid "Todo"
-msgstr "Todo"
+msgstr "Zadolžitev"
msgctxt "field:calendar.todo.rrule,until:"
msgid "Until Date"
@@ -600,11 +588,11 @@ msgstr "Prezri čas v polju \"Do dne\" in ga samo obravnavaj kot datum."
msgctxt "model:calendar.todo,name:"
msgid "Todo"
-msgstr "Todo"
+msgstr "Zadolžitev"
msgctxt "model:calendar.todo-calendar.category,name:"
msgid "Todo - Category"
-msgstr "Todo - Kategorija"
+msgstr "Zadolžitev - Kategorija"
msgctxt "model:calendar.todo.alarm,name:"
msgid "Alarm"
@@ -624,7 +612,7 @@ msgstr "Izjemno pravilo"
msgctxt "model:calendar.todo.rdate,name:"
msgid "Todo Recurrence Date"
-msgstr "Todo datum ponovitve"
+msgstr "Datum ponovitve zadolžitve"
msgctxt "model:calendar.todo.rrule,name:"
msgid "Recurrence Rule"
@@ -632,15 +620,15 @@ msgstr "Pravilo ponovitve"
msgctxt "model:ir.action,name:act_todo_form"
msgid "Todos"
-msgstr "Todoji"
+msgstr "Zadolžitve"
msgctxt "model:ir.action,name:act_todo_form3"
msgid "Todos"
-msgstr "Todoji"
+msgstr "Zadolžitve"
msgctxt "model:ir.ui.menu,name:menu_todo_form"
msgid "Todos"
-msgstr "Todoji"
+msgstr "Zadolžitve"
msgctxt "selection:calendar.todo,classification:"
msgid "Confidential"
@@ -867,6 +855,10 @@ msgid "Categories"
msgstr "Kategorije"
msgctxt "view:calendar.todo:"
+msgid "Due Time"
+msgstr "Zapadlost"
+
+msgctxt "view:calendar.todo:"
msgid "General"
msgstr "Splošno"
@@ -875,9 +867,13 @@ msgid "Occurences"
msgstr "Pojavljanje"
msgctxt "view:calendar.todo:"
+msgid "Start Time"
+msgstr "Začetek"
+
+msgctxt "view:calendar.todo:"
msgid "Todo"
-msgstr "Todo"
+msgstr "Zadolžitev"
msgctxt "view:calendar.todo:"
msgid "Todos"
-msgstr "Todoji"
+msgstr "Zadolžitve"
diff --git a/setup.py b/setup.py
index 03001a5..0eb2883 100644
--- a/setup.py
+++ b/setup.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
-#This file is part of Tryton. The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# 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 setuptools import setup
import re
@@ -87,6 +87,8 @@ setup(name=name,
'Natural Language :: Spanish',
'Operating System :: OS Independent',
'Programming Language :: Python :: 2.7',
+ 'Programming Language :: Python :: Implementation :: CPython',
+ 'Programming Language :: Python :: Implementation :: PyPy',
'Topic :: Office/Business',
],
license='GPL-3',
diff --git a/tests/__init__.py b/tests/__init__.py
index 7593e9a..5b114ba 100644
--- a/tests/__init__.py
+++ b/tests/__init__.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton. The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# 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 .test_calendar_todo import suite
diff --git a/tests/test_calendar_todo.py b/tests/test_calendar_todo.py
index 6dbac21..f9aa535 100644
--- a/tests/test_calendar_todo.py
+++ b/tests/test_calendar_todo.py
@@ -1,23 +1,13 @@
-#This file is part of Tryton. The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# 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 unittest
import trytond.tests.test_tryton
-from trytond.tests.test_tryton import test_view, test_depends
+from trytond.tests.test_tryton import ModuleTestCase
-class CalendarTodoTestCase(unittest.TestCase):
+class CalendarTodoTestCase(ModuleTestCase):
'Test Calendar Todo module'
-
- def setUp(self):
- trytond.tests.test_tryton.install_module('calendar_todo')
-
- def test0005views(self):
- 'Test views'
- test_view('calendar_todo')
-
- def test0006depends(self):
- 'Test depends'
- test_depends()
+ module = 'calendar_todo'
def suite():
diff --git a/todo.py b/todo.py
index d5043ea..e207d87 100644
--- a/todo.py
+++ b/todo.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton. The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# 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 uuid
import vobject
import dateutil.tz
@@ -11,7 +11,7 @@ from sql import Table, Column
from trytond.model import ModelSQL, ModelView, fields
from trytond.tools import reduce_ids
from trytond import backend
-from trytond.pyson import Eval, If, Bool
+from trytond.pyson import Eval, If, Bool, PYSONEncoder
from trytond.transaction import Transaction
from trytond.pool import Pool
from trytond.modules.calendar import AlarmMixin, DateMixin, RRuleMixin, \
@@ -107,19 +107,13 @@ class Todo(ModelSQL, ModelView):
states={
'invisible': Bool(Eval('parent')),
}, depends=['parent'])
- calendar_owner = fields.Function(fields.Many2One('res.user', 'Owner'),
- 'get_calendar_field', searcher='search_calendar_field')
- calendar_read_users = fields.Function(fields.One2Many('res.user', None,
- 'Read Users'), 'get_calendar_field', searcher='search_calendar_field')
- calendar_write_users = fields.Function(fields.One2Many('res.user', None,
- 'Write Users'), 'get_calendar_field', searcher='search_calendar_field')
vtodo = fields.Binary('vtodo')
@classmethod
def __setup__(cls):
super(Todo, cls).__setup__()
cls._sql_constraints = [
- #XXX should be unique across all componenets
+ # XXX should be unique across all componenets
('uuid_recurrence_uniq', 'UNIQUE(uuid, calendar, recurrence)',
'UUID and recurrence must be unique in a calendar.'),
]
@@ -133,13 +127,14 @@ class Todo(ModelSQL, ModelView):
# Migrate from 1.4: remove classification_public
ModelData = pool.get('ir.model.data')
Rule = pool.get('ir.rule')
- models_data = ModelData.search([
- ('fs_id', '=', 'rule_group_read_todo_line3'),
- ('module', '=', module_name),
- ], limit=1)
- if models_data:
- model_data, = models_data
- Rule.delete([Rule(model_data.db_id)])
+ with Transaction().set_user(0):
+ models_data = ModelData.search([
+ ('fs_id', '=', 'rule_group_read_todo_line3'),
+ ('module', '=', module_name),
+ ], limit=1)
+ if models_data:
+ model_data, = models_data
+ Rule.delete([Rule(model_data.db_id)])
super(Todo, cls).__register__(module_name)
@staticmethod
@@ -160,31 +155,17 @@ class Todo(ModelSQL, ModelView):
@fields.depends('status', 'completed', 'percent_complete')
def on_change_status(self):
- res = {}
- if not getattr(self, 'status', None):
- return res
+ if not self.status:
+ return
if self.status == 'completed':
- res['percent_complete'] = 100
- if not getattr(self, 'completed', None):
- res['completed'] = datetime.datetime.now()
-
- return res
+ self.percent_complete = 100
+ if not self.completed:
+ self.completed = datetime.datetime.now()
@staticmethod
def timezones():
return [(x, x) for x in pytz.common_timezones] + [('', '')]
- def get_calendar_field(self, name):
- name = name[9:]
- if name in ('read_users', 'write_users'):
- return [x.id for x in getattr(self.calendar, name)]
- else:
- return getattr(self.calendar, name).id
-
- @classmethod
- def search_calendar_field(cls, name, clause):
- return [('calendar.' + name[9:],) + tuple(clause[1:])]
-
@classmethod
def validate(cls, todos):
super(Todo, cls).validate(todos)
@@ -205,6 +186,12 @@ class Todo(ModelSQL, ModelView):
self.raise_user_error('invalid_recurrence', (self.rec_name,))
@classmethod
+ def view_attributes(cls):
+ return [('//page[@id="occurences"]', 'states', {
+ 'invisible': Bool(Eval('_parent_parent')),
+ })]
+
+ @classmethod
def create(cls, vlist):
pool = Pool()
Calendar = pool.get('calendar.calendar')
@@ -226,7 +213,7 @@ class Todo(ModelSQL, ModelView):
if x.status != 'declined'
and x.email != todo.parent.organizer]
if attendee_emails:
- with Transaction().set_context(_check_access=False):
+ with Transaction().set_user(0):
calendars = Calendar.search([
('owner.email', 'in', attendee_emails),
])
@@ -332,24 +319,27 @@ class Todo(ModelSQL, ModelView):
if x.status != 'declined'
and x.email != todo.organizer]
else:
- attendee_emails = [x.email for x in todo.parent.attendees
- if x.status != 'declined'
- and x.email != todo.parent.organizer]
+ attendee_emails = [
+ x.email for x in todo.parent.attendees
+ if x.status != 'declined'
+ and x.email != todo.parent.organizer]
if attendee_emails:
- with Transaction().set_context(_check_access=False):
+ with Transaction().set_user(0):
todo2s = cls.search([
- ('uuid', '=', todo.uuid),
- ('calendar.owner.email', 'in', attendee_emails),
- ('id', '!=', todo.id),
- ('recurrence', '=', todo.recurrence),
- ])
+ ('uuid', '=', todo.uuid),
+ ('calendar.owner.email', 'in',
+ attendee_emails),
+ ('id', '!=', todo.id),
+ ('recurrence', '=', todo.recurrence),
+ ])
for todo2 in todo2s:
if todo2.calendar.owner.email in attendee_emails:
- attendee_emails.remove(todo2.calendar.owner.email)
- with Transaction().set_context(_check_access=False):
+ attendee_emails.remove(
+ todo2.calendar.owner.email)
+ with Transaction().set_user(0):
cls.write(todos, todo._todo2update())
if attendee_emails:
- with Transaction().set_context(_check_access=False):
+ with Transaction().set_user(0):
calendars = Calendar.search([
('owner.email', 'in', attendee_emails),
])
@@ -402,7 +392,7 @@ class Todo(ModelSQL, ModelView):
attendee_emails = [x.email for x in todo.parent.attendees
if x.email != todo.parent.organizer]
if attendee_emails:
- with Transaction().set_context(_check_access=False):
+ with Transaction().set_user(0):
todos_delete = cls.search([
('uuid', '=', todo.uuid),
('calendar.owner.email', 'in', attendee_emails),
@@ -416,7 +406,7 @@ class Todo(ModelSQL, ModelView):
organizer = todo.organizer
else:
organizer = todo.parent.organizer
- with Transaction().set_context(_check_access=False):
+ with Transaction().set_user(0):
todo2s = cls.search([
('uuid', '=', todo.uuid),
('calendar.owner.email', '=', organizer),
@@ -1043,8 +1033,8 @@ class TodoAttendee(AttendeeMixin, ModelSQL, ModelView):
values=[attendee.select(attendee.email,
where=attendee.id == sql_table.calendar_attendee),
attendee.select(attendee.status,
- where=
- attendee.id == sql_table.calendar_attendee)]))
+ where=(
+ attendee.id == sql_table.calendar_attendee))]))
table.drop_column('calendar_attendee', True)
@classmethod
@@ -1073,7 +1063,7 @@ class TodoAttendee(AttendeeMixin, ModelSQL, ModelView):
attendee_emails = [x.email for x in todo.parent.attendees
if x.email != todo.parent.organizer]
if attendee_emails:
- with Transaction().set_context(_check_access=False):
+ with Transaction().set_user(0):
todos = Todo.search([
('uuid', '=', todo.uuid),
('calendar.owner.email', 'in', attendee_emails),
@@ -1122,7 +1112,7 @@ class TodoAttendee(AttendeeMixin, ModelSQL, ModelView):
attendee_emails = [x.email for x in todo.parent.attendees
if x.email != todo.parent.organizer]
if attendee_emails:
- with Transaction().set_context(_check_access=False):
+ with Transaction().set_user(0):
attendees2 = cls.search([
('todo.uuid', '=', todo.uuid),
('todo.calendar.owner.email', 'in',
@@ -1157,7 +1147,7 @@ class TodoAttendee(AttendeeMixin, ModelSQL, ModelView):
attendee_emails = [x.email for x in todo.attendees
if x.email != todo.parent.organizer]
if attendee_emails:
- with Transaction().set_context(_check_access=False):
+ with Transaction().set_user(0):
attendees = cls.search([
('todo.uuid', '=', todo.uuid),
('todo.calendar.owner.email', 'in',
@@ -1175,7 +1165,7 @@ class TodoAttendee(AttendeeMixin, ModelSQL, ModelView):
organizer = todo.organizer
else:
organizer = todo.parent.organizer
- with Transaction().set_context(_check_access=False):
+ with Transaction().set_user(0):
attendees = cls.search([
('todo.uuid', '=', todo.uuid),
('todo.calendar.owner.email', '=', organizer),
diff --git a/todo.xml b/todo.xml
index d673144..c77e3ec 100644
--- a/todo.xml
+++ b/todo.xml
@@ -27,7 +27,7 @@ this repository contains the full copyright notices and license terms. -->
<record model="ir.action.act_window" id="act_todo_form">
<field name="name">Todos</field>
<field name="res_model">calendar.todo</field>
- <field name="domain">[('parent', '=', None)]</field>
+ <field name="domain" eval="[('parent', '=', None)]" pyson="1"/>
</record>
<record model="ir.action.act_window.view" id="act_todo_form_view1">
<field name="sequence" eval="10"/>
@@ -45,7 +45,9 @@ this repository contains the full copyright notices and license terms. -->
<record model="ir.action.act_window" id="act_todo_form3">
<field name="name">Todos</field>
<field name="res_model">calendar.todo</field>
- <field name="domain">[('parent', '=', None), ('calendar', 'in', Eval('active_ids'))]</field>
+ <field name="domain"
+ eval="[('parent', '=', None), ('calendar', 'in', Eval('active_ids', []))]"
+ pyson="1"/>
</record>
<record model="ir.action.act_window.view" id="act_todo_form3_view1">
<field name="sequence" eval="10"/>
@@ -64,6 +66,25 @@ this repository contains the full copyright notices and license terms. -->
<field name="action" ref="act_todo_form3"/>
</record>
+ <record model="ir.rule.group" id="rule_group_todo_admin">
+ <field name="model" search="[('model', '=', 'calendar.todo')]"/>
+ <field name="global_p" eval="False"/>
+ <field name="default_p" eval="False"/>
+ <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" id="rule_group_todo_admin_line1">
+ <field name="domain" eval="[]" pyson="1"/>
+ <field name="rule_group" ref="rule_group_todo_admin"/>
+ </record>
+ <record model="ir.rule.group-res.group"
+ id="rule_group_todo_admin-calendar_admin">
+ <field name="rule_group" ref="rule_group_todo_admin"/>
+ <field name="group" ref="calendar.group_calendar_admin"/>
+ </record>
+
<record model="ir.rule.group" id="rule_group_read_todo">
<field name="model" search="[('model', '=', 'calendar.todo')]"/>
<field name="global_p" eval="False"/>
@@ -74,11 +95,15 @@ this repository contains the full copyright notices and license terms. -->
<field name="perm_delete" eval="False"/>
</record>
<record model="ir.rule" id="rule_group_read_todo_line1">
- <field name="domain">[('calendar_owner', '=', user.id)]</field>
+ <field name="domain"
+ eval="[('calendar.owner', '=', Eval('user', {}).get('id', -1))]"
+ pyson="1"/>
<field name="rule_group" ref="rule_group_read_todo"/>
</record>
<record model="ir.rule" id="rule_group_read_todo_line2">
- <field name="domain">[('calendar_read_users', '=', user.id)]</field>
+ <field name="domain"
+ eval="[('calendar.read_users', '=', Eval('user', {}).get('id', -1))]"
+ pyson="1"/>
<field name="rule_group" ref="rule_group_read_todo"/>
</record>
@@ -92,11 +117,15 @@ this repository contains the full copyright notices and license terms. -->
<field name="perm_delete" eval="True"/>
</record>
<record model="ir.rule" id="rule_group_write_todo_line1">
- <field name="domain">[('calendar_owner', '=', user.id)]</field>
+ <field name="domain"
+ eval="[('calendar.owner', '=', Eval('user', {}).get('id', -1))]"
+ pyson="1"/>
<field name="rule_group" ref="rule_group_write_todo"/>
</record>
<record model="ir.rule" id="rule_group_write_todo_line2">
- <field name="domain">[('calendar_write_users', '=', user.id)]</field>
+ <field name="domain"
+ eval="[('calendar.write_users', '=', Eval('user', {}).get('id', -1))]"
+ pyson="1"/>
<field name="rule_group" ref="rule_group_write_todo"/>
</record>
diff --git a/tryton.cfg b/tryton.cfg
index febb018..2f708ac 100644
--- a/tryton.cfg
+++ b/tryton.cfg
@@ -1,5 +1,5 @@
[tryton]
-version=3.4.1
+version=3.6.0
depends:
calendar
ir
diff --git a/trytond_calendar_todo.egg-info/PKG-INFO b/trytond_calendar_todo.egg-info/PKG-INFO
index 95d0801..5cd55d5 100644
--- a/trytond_calendar_todo.egg-info/PKG-INFO
+++ b/trytond_calendar_todo.egg-info/PKG-INFO
@@ -1,12 +1,12 @@
Metadata-Version: 1.1
Name: trytond-calendar-todo
-Version: 3.4.1
+Version: 3.6.0
Summary: Tryton module to add TODO on CalDAV
Home-page: http://www.tryton.org/
Author: Tryton
Author-email: issue_tracker at tryton.org
License: GPL-3
-Download-URL: http://downloads.tryton.org/3.4/
+Download-URL: http://downloads.tryton.org/3.6/
Description: trytond_calendar_todo
=====================
@@ -66,4 +66,6 @@ Classifier: Natural Language :: Slovenian
Classifier: Natural Language :: Spanish
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: Implementation :: CPython
+Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Office/Business
diff --git a/trytond_calendar_todo.egg-info/requires.txt b/trytond_calendar_todo.egg-info/requires.txt
index f143337..9a16b15 100644
--- a/trytond_calendar_todo.egg-info/requires.txt
+++ b/trytond_calendar_todo.egg-info/requires.txt
@@ -3,5 +3,5 @@ PyWebDAV >= 0.9.8
python-dateutil
pytz
python-sql
-trytond_calendar >= 3.4, < 3.5
-trytond >= 3.4, < 3.5
\ No newline at end of file
+trytond_calendar >= 3.6, < 3.7
+trytond >= 3.6, < 3.7
\ No newline at end of file
diff --git a/view/todo_form.xml b/view/todo_form.xml
index 63ce6dd..e6ec48d 100644
--- a/view/todo_form.xml
+++ b/view/todo_form.xml
@@ -35,8 +35,7 @@ this repository contains the full copyright notices and license terms. -->
<field name="organizer"/>
<field name="attendees" colspan="4"/>
</page>
- <page string="Occurences" id="occurences"
- states="{'invisible': Bool(Eval('_parent_parent'))}">
+ <page string="Occurences" id="occurences">
<field name="rrules" colspan="2"/>
<field name="rdates" colspan="2"/>
<field name="exrules" colspan="2"/>
diff --git a/view/todo_tree.xml b/view/todo_tree.xml
index 841d6bf..95af02b 100644
--- a/view/todo_tree.xml
+++ b/view/todo_tree.xml
@@ -4,8 +4,10 @@ this repository contains the full copyright notices and license terms. -->
<tree string="Todos">
<field name="calendar"/>
<field name="summary"/>
- <field name="dtstart"/>
- <field name="due"/>
+ <field name="dtstart" widget="date"/>
+ <field name="dtstart" widget="time" string="Start Time"/>
+ <field name="due" widget="date"/>
+ <field name="due" widget="time" string="Due Time"/>
<field name="status"/>
<field name="percent_complete"/>
</tree>
diff --git a/view/todo_tree_occurence.xml b/view/todo_tree_occurence.xml
index 852fcf0..1e60698 100644
--- a/view/todo_tree_occurence.xml
+++ b/view/todo_tree_occurence.xml
@@ -3,9 +3,12 @@
this repository contains the full copyright notices and license terms. -->
<tree string="Todos">
<field name="summary"/>
- <field name="recurrence"/>
- <field name="dtstart"/>
- <field name="due"/>
+ <field name="recurrence" widget="date"/>
+ <field name="recurrence" widget="time"/>
+ <field name="dtstart" widget="date"/>
+ <field name="dtstart" widget="time" string="Start Time"/>
+ <field name="due" widget="date"/>
+ <field name="due" widget="time" string="Due Time"/>
<field name="status"/>
<field name="percent_complete"/>
</tree>
diff --git a/webdav.py b/webdav.py
index e837a2d..7a99912 100644
--- a/webdav.py
+++ b/webdav.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton. The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# 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 vobject
import urllib
from pywebdav.lib.errors import DAV_NotFound, DAV_Forbidden
--
tryton-modules-calendar-todo
More information about the tryton-debian-vcs
mailing list