[tryton-debian-vcs] tryton-modules-calendar branch debian updated. debian/2.8.0-3-5-ga9ee460

git repository hosting tryton-debian-vcs at m9s.biz
Mon Nov 25 19:33:22 UTC 2013


The following commit has been merged in the debian branch:
http://debian.tryton.org/gitweb/?p=packages/tryton-modules-calendar.git;a=commitdiff;h=debian/2.8.0-3-5-ga9ee460

commit a9ee460a798ba12098f599905f016410100d83fe
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Mon Nov 25 20:30:07 2013 +0100

    Releasing debian version 3.0.0-1.

diff --git a/debian/changelog b/debian/changelog
index fab7730..f4f8aa8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+tryton-modules-calendar (3.0.0-1) unstable; urgency=low
+
+  * Merging upstream version 3.0.0.
+  * Updating to standards version 3.9.5, no changes needed.
+  * Changing to buildsystem pybuild.
+  * Adding python-sql to Depends.
+
+ -- Mathias Behrle <mathiasb at m9s.biz>  Mon, 25 Nov 2013 17:53:37 +0100
+
 tryton-modules-calendar (2.8.0-3) unstable; urgency=low
 
   * Removing pydist-overrides, it is no more needed.
commit 932b7cddc044041f31a200daf525ea28c352cf41
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Mon Nov 25 17:41:40 2013 +0100

    Adding python-sql to Depends.

diff --git a/debian/control b/debian/control
index 6010ef9..acc2e88 100644
--- a/debian/control
+++ b/debian/control
@@ -16,7 +16,7 @@ Architecture: all
 Depends:
  ${misc:Depends}, ${python:Depends}, tryton-server (>= ${version:major}),
  python-dateutil, python-tz, python-vobject, python-webdav,
- python-pkg-resources
+ python-sql, python-pkg-resources
 Description: Tryton Application Platform (Calendar Module)
  Tryton is a high-level general purpose application platform written in Python
  and using PostgreSQL as database engine. It is the core base of a complete
commit 5c6a055d4c53f9928f8c1f685c57840fa6c9bb1e
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Sun Nov 24 19:51:51 2013 +0100

    Changing to buildsystem pybuild.

diff --git a/debian/control b/debian/control
index 4b0db7d..6010ef9 100644
--- a/debian/control
+++ b/debian/control
@@ -3,7 +3,8 @@ Section: python
 Priority: optional
 Maintainer: Debian Tryton Maintainers <maintainers at debian.tryton.org>
 Uploaders: Mathias Behrle <mathiasb at m9s.biz>
-Build-Depends: debhelper (>= 9), python (>= 2.6.6-3~), python-setuptools
+Build-Depends:
+ debhelper (>= 9), python (>= 2.6.6-3~), python-setuptools, dh-python
 Standards-Version: 3.9.5
 Homepage: http://www.tryton.org/
 Vcs-Browser: http://debian.tryton.org/gitweb/?p=packages/tryton-modules-calendar.git
diff --git a/debian/rules b/debian/rules
index 30074ad..5b8c326 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,24 +1,17 @@
 #!/usr/bin/make -f
 
-MAJOR := $(shell python setup.py --version | awk -F "." '{print $$1 "." $$2}')
-PACKAGE_NAME := $(shell python setup.py --name)
-
-%:
-	dh ${@} --with python2
+# needed for pbuilder
+export LC_ALL=C.UTF-8
 
-override_dh_auto_clean:
-	dh_auto_clean
+MAJOR := $(shell python setup.py --version | awk -F "." '{print $$1 "." $$2}')
+PACKAGE_NAME := tryton-modules-$(shell python setup.py --name | sed s/^trytond_// | sed s/_/-/g)
+export PYBUILD_DESTDIR_python2=debian/${PACKAGE_NAME}
 
-override_dh_auto_build:
-	mv $(PACKAGE_NAME).egg-info $(PACKAGE_NAME).hen-info
-	mv PKG-INFO PKG-INFO.hen
-	dh_auto_build
+# Don't run tests for Tryton modules, they try to download dependencies from pypi
+export PYBUILD_DISABLE_python2.7=test
 
-override_dh_auto_install:
-	dh_auto_install
-	rm -rf *.egg-info
-	mv $(PACKAGE_NAME).hen-info $(PACKAGE_NAME).egg-info
-	mv PKG-INFO.hen PKG-INFO
+%:
+	dh ${@} --with python2 --buildsystem=pybuild
 
 override_dh_gencontrol:
 	dh_gencontrol -- -Vversion:major="$(MAJOR)"
commit 77af8e294c583fd8d0fe6fa220128e88ed7ef287
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Sun Nov 24 19:14:20 2013 +0100

    Updating to standards version 3.9.5, no changes needed.

diff --git a/debian/control b/debian/control
index 7c0ffcb..4b0db7d 100644
--- a/debian/control
+++ b/debian/control
@@ -4,7 +4,7 @@ Priority: optional
 Maintainer: Debian Tryton Maintainers <maintainers at debian.tryton.org>
 Uploaders: Mathias Behrle <mathiasb at m9s.biz>
 Build-Depends: debhelper (>= 9), python (>= 2.6.6-3~), python-setuptools
-Standards-Version: 3.9.4
+Standards-Version: 3.9.5
 Homepage: http://www.tryton.org/
 Vcs-Browser: http://debian.tryton.org/gitweb/?p=packages/tryton-modules-calendar.git
 Vcs-Git: git://debian.tryton.org/packages/tryton-modules-calendar.git
commit 82292213424ce4293b8bc714082d4bbfa9b60c50
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Sun Nov 24 17:26:34 2013 +0100

    Merging upstream version 3.0.0.

diff --git a/CHANGELOG b/CHANGELOG
index 434be38..32778ca 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,6 @@
+Version 3.0.0 - 2013-10-21
+* Bug fixes (see mercurial logs for details)
+
 Version 2.8.0 - 2013-04-22
 * Bug fixes (see mercurial logs for details)
 
diff --git a/INSTALL b/INSTALL
index 81c19d7..6ed7bd6 100644
--- a/INSTALL
+++ b/INSTALL
@@ -10,6 +10,7 @@ Prerequisites
  * pywebdav >= 0.9.8 (http://sourceforge.net/projects/pywebdav/)
  * python-dateutil (http://labix.org/python-dateutil)
  * pytz (http://pytz.sourceforge.net/)
+ * python-sql (http://code.google.com/p/python-sql/)
 
 Installation
 ------------
diff --git a/PKG-INFO b/PKG-INFO
index d0ce93a..2845884 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: trytond_calendar
-Version: 2.8.0
+Version: 3.0.0
 Summary: Tryton module for CalDAV
 Home-page: http://www.tryton.org/
 Author: Tryton
 Author-email: UNKNOWN
 License: GPL-3
-Download-URL: http://downloads.tryton.org/2.8/
+Download-URL: http://downloads.tryton.org/3.0/
 Description: trytond_calendar
         ================
         
@@ -61,6 +61,7 @@ Classifier: Natural Language :: English
 Classifier: Natural Language :: French
 Classifier: Natural Language :: German
 Classifier: Natural Language :: Russian
+Classifier: Natural Language :: Slovenian
 Classifier: Natural Language :: Spanish
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python :: 2.6
diff --git a/calendar.xml b/calendar.xml
index 535bd17..dbf7e8c 100644
--- a/calendar.xml
+++ b/calendar.xml
@@ -130,7 +130,7 @@ this repository contains the full copyright notices and license terms. -->
         <record model="ir.action.act_window" id="act_event_form">
             <field name="name">Events</field>
             <field name="res_model">calendar.event</field>
-            <field name="domain">[('parent', '=', False)]</field>
+            <field name="domain">[('parent', '=', None)]</field>
         </record>
         <record model="ir.action.act_window.view" id="act_event_form_view1">
             <field name="sequence" eval="10"/>
@@ -148,7 +148,7 @@ this repository contains the full copyright notices and license terms. -->
         <record model="ir.action.act_window" id="act_event_form3">
             <field name="name">Events</field>
             <field name="res_model">calendar.event</field>
-            <field name="domain">[('parent', '=', False), ('calendar', '=', Eval('active_id'))]</field>
+            <field name="domain">[('parent', '=', None), ('calendar', '=', Eval('active_id'))]</field>
         </record>
         <record model="ir.action.act_window.view" id="act_event_form3_view1">
             <field name="sequence" eval="10"/>
diff --git a/calendar_.py b/calendar_.py
index 4a9c2d3..83fed4f 100644
--- a/calendar_.py
+++ b/calendar_.py
@@ -6,9 +6,11 @@ import dateutil.tz
 import pytz
 import datetime
 import xml.dom.minidom
+from sql import Table, Column
+
 from trytond.model import Model, ModelSQL, ModelView, fields
 from trytond.tools import reduce_ids
-from trytond.backend import TableHandler
+from trytond import backend
 from trytond.pyson import If, Bool, Eval
 from trytond.transaction import Transaction
 from trytond.cache import Cache
@@ -652,12 +654,14 @@ class Event(ModelSQL, ModelView):
 
         super(Event, cls).write(events, values)
 
+        table = cls.__table__()
         for i in range(0, len(events), cursor.IN_MAX):
             sub_ids = map(int, events[i:i + cursor.IN_MAX])
-            red_sql, red_ids = reduce_ids('id', sub_ids)
-            cursor.execute('UPDATE "' + cls._table + '" '
-                'SET sequence = sequence + 1 '
-                'WHERE ' + red_sql, red_ids)
+            red_sql = reduce_ids(table.id, sub_ids)
+            cursor.execute(*table.update(
+                    columns=[table.sequence],
+                    values=[table.sequence + 1],
+                    where=red_sql))
 
         if not values:
             return
@@ -1230,7 +1234,9 @@ class EventAlarm(AlarmMixin, ModelSQL, ModelView):
 
     @classmethod
     def __register__(cls, module_name):
+        TableHandler = backend.get('TableHandler')
         cursor = Transaction().cursor
+        sql_table = cls.__table__()
 
         super(EventAlarm, cls).__register__(module_name)
 
@@ -1238,10 +1244,11 @@ class EventAlarm(AlarmMixin, ModelSQL, ModelView):
 
         # Migration from 2.6: Remove inherits calendar.alarm
         if table.column_exist('calendar_alarm'):
-            cursor.execute('UPDATE "' + cls._table + '" AS e '
-                'SET valarm = (SELECT a.valarm '
-                    'FROM calendar_alarm AS a '
-                    'WHERE a.id = e.calendar_alarm)')
+            alarm = Table('calendar_alarm')
+            cursor.execute(*sql_table.update(
+                    columns=[sql_table.valarm],
+                    values=[alarm.select(alarm.valarm,
+                            where=alarm.id == sql_table.calendar_alarm)]))
             table.drop_column('calendar_alarm', True)
 
     @classmethod
@@ -1352,7 +1359,9 @@ class EventAttendee(AttendeeMixin, ModelSQL, ModelView):
 
     @classmethod
     def __register__(cls, module_name):
+        TableHandler = backend.get('TableHandler')
         cursor = Transaction().cursor
+        sql_table = cls.__table__()
 
         super(EventAttendee, cls).__register__(module_name)
 
@@ -1360,13 +1369,14 @@ class EventAttendee(AttendeeMixin, ModelSQL, ModelView):
 
         # Migration from 2.6: Remove inherits calendar.attendee
         if table.column_exist('calendar_attendee'):
-            cursor.execute('UPDATE "' + cls._table + '" AS e '
-                'SET email = (SELECT a.email '
-                    'FROM calendar_attendee AS a '
-                    'WHERE a.id = e.calendar_attendee), '
-                'status = (SELECT a.status '
-                    'FROM calendar_attendee AS a '
-                    'WHERE a.id = e.calendar_attendee)')
+            attendee = Table('calendar_attendee')
+            cursor.execute(*sql_table.update(
+                    columns=[sql_table.email, sql_table.status],
+                    values=[attendee.select(attendee.email,
+                            where=attendee.id == sql_table.calendar_attendee),
+                        attendee.select(attendee.status,
+                            where=attendee.id == sql_table.calendar_attendee),
+                        ]))
             table.drop_column('calendar_attendee', True)
 
     @classmethod
@@ -1379,7 +1389,7 @@ class EventAttendee(AttendeeMixin, ModelSQL, ModelView):
                 to_write.append(values['event'])
 
         if to_write:
-            Event.write([Event.browse(to_write)], {})
+            Event.write(Event.browse(to_write), {})
         event_attendees = super(EventAttendee, cls).create(vlist)
         for event_attendee in event_attendees:
             event = event_attendee.event
@@ -1559,7 +1569,9 @@ class EventRDate(DateMixin, ModelSQL, ModelView):
 
     @classmethod
     def __register__(cls, module_name):
+        TableHandler = backend.get('TableHandler')
         cursor = Transaction().cursor
+        sql_table = cls.__table__()
         # Migration from 1.4: calendar_rdate renamed to calendar_date
         table = TableHandler(cursor, cls, module_name)
         old_column = 'calendar_rdate'
@@ -1572,13 +1584,13 @@ class EventRDate(DateMixin, ModelSQL, ModelView):
 
         # Migration from 2.6: Remove inherits calendar.date
         if table.column_exist('calendar_date'):
-            cursor.execute('UPDATE "' + cls._table + '" AS e '
-                'SET date = (SELECT a.date '
-                    'FROM calendar_date AS a '
-                    'WHERE a.id = e.calendar_date), '
-                'datetime = (SELECT a.datetime '
-                    'FROM calendar_date AS a '
-                    'WHERE a.id = e.calendar_date)')
+            date = Table('calendar_date')
+            cursor.execute(*sql_table.update(
+                    columns=[sql_table.date, sql_table.datetime],
+                    values=[date.select(date.date,
+                            where=date.id == sql_table.calendar_date),
+                        date.select(date.datetime,
+                            where=date.id == sql_table.calendar_date)]))
             table.drop_column('calendar_date', True)
 
     @classmethod
@@ -1677,9 +1689,10 @@ class RRuleMixin(Model):
                     'rule "%s"'),
                 'invalid_byweekno': ('Invalid "By Week Number" in recurrence '
                     'rule "%s"'),
-                'invalid_bymonth': 'Invalid "By Month" in recurrence rule "%s"',
-                'invalid_bysetpos': ('Invalid "By Position" in recurrence rule '
-                    '"%s"'),
+                'invalid_bymonth': (
+                    'Invalid "By Month" in recurrence rule "%s"'),
+                'invalid_bysetpos': (
+                    'Invalid "By Position" in recurrence rule "%s"'),
                 })
 
     @classmethod
@@ -1761,7 +1774,8 @@ class RRuleMixin(Model):
                 except Exception:
                     yeardaynum = -1000
                 if not (abs(yeardaynum) >= 1 and abs(yeardaynum) <= 366):
-                    self.raise_user_error('invalid_byyearday', (self.rec_name,))
+                    self.raise_user_error('invalid_byyearday',
+                        (self.rec_name,))
 
     def check_byweekno(self):
         if self.byweekno:
@@ -1865,7 +1879,9 @@ class EventRRule(RRuleMixin, ModelSQL, ModelView):
 
     @classmethod
     def __register__(cls, module_name):
+        TableHandler = backend.get('TableHandler')
         cursor = Transaction().cursor
+        sql_table = cls.__table__()
 
         super(EventRRule, cls).__register__(module_name)
 
@@ -1873,13 +1889,13 @@ class EventRRule(RRuleMixin, ModelSQL, ModelView):
 
         # Migration from 2.6: Remove inherits calendar.rrule
         if table.column_exist('calendar_rrule'):
+            rrule = Table('calendar_rrule')
             for field in (f for f in dir(RRuleMixin)
                     if isinstance(f, fields.Field)):
-                cursor.execute(('UPDATE "' + cls._table + '" AS e '
-                        'SET "%(field)s" = (SELECT a."%(field)s" '
-                            'FROM calendar_rrule AS r '
-                            'WHERE r.id = e.calendar_rrule)')
-                    % {'field': field})
+                cursor.execute(*sql_table.update(
+                        columns=[Column(sql_table, field)],
+                        values=[rrule.select(Column(rrule, field),
+                                where=rrule.id == sql_table.calendar_rrule)]))
             table.drop_column('calendar_rrule', True)
 
     @classmethod
diff --git a/locale/ca_ES.po b/locale/ca_ES.po
index 07679c6..30c7902 100644
--- a/locale/ca_ES.po
+++ b/locale/ca_ES.po
@@ -866,7 +866,7 @@ msgstr "Esdeveniments"
 
 msgctxt "model:ir.ui.menu,name:menu_calendar"
 msgid "Calendar"
-msgstr "Calendaris"
+msgstr "Calendari"
 
 msgctxt "model:ir.ui.menu,name:menu_calendar_form"
 msgid "Calendars"
@@ -894,7 +894,7 @@ msgstr "Públic"
 
 msgctxt "selection:calendar.event,status:"
 msgid ""
-msgstr " "
+msgstr ""
 
 msgctxt "selection:calendar.event,status:"
 msgid "Cancelled"
@@ -918,7 +918,7 @@ msgstr "Transparent"
 
 msgctxt "selection:calendar.event.attendee,status:"
 msgid ""
-msgstr " "
+msgstr ""
 
 msgctxt "selection:calendar.event.attendee,status:"
 msgid "Accepted"
diff --git a/locale/es_CO.po b/locale/es_CO.po
index 571f7af..867a4bb 100644
--- a/locale/es_CO.po
+++ b/locale/es_CO.po
@@ -886,10 +886,9 @@ msgctxt "selection:calendar.event,classification:"
 msgid "Public"
 msgstr "Público"
 
-#, fuzzy
 msgctxt "selection:calendar.event,status:"
 msgid ""
-msgstr "Punto de Orden"
+msgstr ""
 
 msgctxt "selection:calendar.event,status:"
 msgid "Cancelled"
@@ -911,10 +910,9 @@ msgctxt "selection:calendar.event,transp:"
 msgid "Transparent"
 msgstr "Transparente"
 
-#, fuzzy
 msgctxt "selection:calendar.event.attendee,status:"
 msgid ""
-msgstr "Punto de Orden"
+msgstr ""
 
 msgctxt "selection:calendar.event.attendee,status:"
 msgid "Accepted"
@@ -1048,7 +1046,6 @@ msgctxt "selection:calendar.event.rrule,wkst:"
 msgid "Wednesday"
 msgstr "Miércoles"
 
-#, fuzzy
 msgctxt "view:calendar.calendar:"
 msgid "Access Permissions"
 msgstr "Permisos de Acceso"
diff --git a/locale/es_ES.po b/locale/es_ES.po
index bc47ca4..eb130f3 100644
--- a/locale/es_ES.po
+++ b/locale/es_ES.po
@@ -928,15 +928,15 @@ msgstr "Acceptado"
 
 msgctxt "selection:calendar.event.attendee,status:"
 msgid "Declined"
-msgstr "Rechazar"
+msgstr "Rechazado"
 
 msgctxt "selection:calendar.event.attendee,status:"
 msgid "Delegated"
-msgstr "Delegar"
+msgstr "Delegado"
 
 msgctxt "selection:calendar.event.attendee,status:"
 msgid "Needs Action"
-msgstr "Necesidad  Acción"
+msgstr "Requiere acción"
 
 msgctxt "selection:calendar.event.attendee,status:"
 msgid "Tentative"
@@ -1080,7 +1080,7 @@ msgstr "Categoría"
 
 msgctxt "view:calendar.event.attendee:"
 msgid "Attendee"
-msgstr "Asistentes"
+msgstr "Asistente"
 
 msgctxt "view:calendar.event.attendee:"
 msgid "Attendees"
@@ -1100,7 +1100,7 @@ msgstr "Regla de excepción"
 
 msgctxt "view:calendar.event.exrule:"
 msgid "Exception Rules"
-msgstr "Reglas de excepciones"
+msgstr "Reglas de excepción"
 
 msgctxt "view:calendar.event.rdate:"
 msgid "Recurrence Date"
diff --git a/locale/fr_FR.po b/locale/fr_FR.po
index 7ac841e..3bdb16c 100644
--- a/locale/fr_FR.po
+++ b/locale/fr_FR.po
@@ -875,14 +875,6 @@ msgid "Confidential"
 msgstr "Confidentiel"
 
 msgctxt "selection:calendar.event,classification:"
-msgid "Confidential"
-msgstr "Confidentiel"
-
-msgctxt "selection:calendar.event,classification:"
-msgid "Private"
-msgstr "Privé"
-
-msgctxt "selection:calendar.event,classification:"
 msgid "Private"
 msgstr "Privé"
 
@@ -890,14 +882,6 @@ msgctxt "selection:calendar.event,classification:"
 msgid "Public"
 msgstr "Publique"
 
-msgctxt "selection:calendar.event,classification:"
-msgid "Public"
-msgstr "Publique"
-
-msgctxt "selection:calendar.event,status:"
-msgid ""
-msgstr ""
-
 msgctxt "selection:calendar.event,status:"
 msgid ""
 msgstr ""
@@ -907,14 +891,6 @@ msgid "Cancelled"
 msgstr "Annulé"
 
 msgctxt "selection:calendar.event,status:"
-msgid "Cancelled"
-msgstr "Annulé"
-
-msgctxt "selection:calendar.event,status:"
-msgid "Confirmed"
-msgstr "Confirmé"
-
-msgctxt "selection:calendar.event,status:"
 msgid "Confirmed"
 msgstr "Confirmé"
 
@@ -922,14 +898,6 @@ msgctxt "selection:calendar.event,status:"
 msgid "Tentative"
 msgstr "Tentative"
 
-msgctxt "selection:calendar.event,status:"
-msgid "Tentative"
-msgstr "Tentative"
-
-msgctxt "selection:calendar.event,transp:"
-msgid "Opaque"
-msgstr "Opaque"
-
 msgctxt "selection:calendar.event,transp:"
 msgid "Opaque"
 msgstr "Opaque"
@@ -938,10 +906,6 @@ msgctxt "selection:calendar.event,transp:"
 msgid "Transparent"
 msgstr "transparent"
 
-msgctxt "selection:calendar.event,transp:"
-msgid "Transparent"
-msgstr "transparent"
-
 msgctxt "selection:calendar.event.attendee,status:"
 msgid ""
 msgstr ""
@@ -1087,22 +1051,10 @@ msgid "Calendar"
 msgstr "Calendrier"
 
 msgctxt "view:calendar.calendar:"
-msgid "Calendar"
-msgstr "Calendrier"
-
-msgctxt "view:calendar.calendar:"
 msgid "Calendars"
 msgstr "Calendriers"
 
 msgctxt "view:calendar.calendar:"
-msgid "Calendars"
-msgstr "Calendriers"
-
-msgctxt "view:calendar.calendar:"
-msgid "General"
-msgstr "Général"
-
-msgctxt "view:calendar.calendar:"
 msgid "General"
 msgstr "Général"
 
@@ -1111,14 +1063,6 @@ msgid "Categories"
 msgstr "Catégories"
 
 msgctxt "view:calendar.category:"
-msgid "Categories"
-msgstr "Catégories"
-
-msgctxt "view:calendar.category:"
-msgid "Category"
-msgstr "Catégorie"
-
-msgctxt "view:calendar.category:"
 msgid "Category"
 msgstr "Catégorie"
 
@@ -1127,14 +1071,6 @@ msgid "Attendee"
 msgstr "Participant"
 
 msgctxt "view:calendar.event.attendee:"
-msgid "Attendee"
-msgstr "Participant"
-
-msgctxt "view:calendar.event.attendee:"
-msgid "Attendees"
-msgstr "Participants"
-
-msgctxt "view:calendar.event.attendee:"
 msgid "Attendees"
 msgstr "Participants"
 
@@ -1143,14 +1079,6 @@ msgid "Exception Date"
 msgstr "Date d'exception"
 
 msgctxt "view:calendar.event.exdate:"
-msgid "Exception Date"
-msgstr "Date d'exception"
-
-msgctxt "view:calendar.event.exdate:"
-msgid "Exception Dates"
-msgstr "Dates d'exception"
-
-msgctxt "view:calendar.event.exdate:"
 msgid "Exception Dates"
 msgstr "Dates d'exception"
 
@@ -1159,14 +1087,6 @@ msgid "Exception Rule"
 msgstr "Règle d'exception"
 
 msgctxt "view:calendar.event.exrule:"
-msgid "Exception Rule"
-msgstr "Règle d'exception"
-
-msgctxt "view:calendar.event.exrule:"
-msgid "Exception Rules"
-msgstr "Règles d'exception"
-
-msgctxt "view:calendar.event.exrule:"
 msgid "Exception Rules"
 msgstr "Règles d'exception"
 
@@ -1175,14 +1095,6 @@ msgid "Recurrence Date"
 msgstr "Date de récurrence"
 
 msgctxt "view:calendar.event.rdate:"
-msgid "Recurrence Date"
-msgstr "Date de récurrence"
-
-msgctxt "view:calendar.event.rdate:"
-msgid "Recurrence Dates"
-msgstr "Dates de récurrence"
-
-msgctxt "view:calendar.event.rdate:"
 msgid "Recurrence Dates"
 msgstr "Dates de récurrence"
 
@@ -1191,14 +1103,6 @@ msgid "Recurrence Rule"
 msgstr "Règle de récurrence"
 
 msgctxt "view:calendar.event.rrule:"
-msgid "Recurrence Rule"
-msgstr "Règle de récurrence"
-
-msgctxt "view:calendar.event.rrule:"
-msgid "Recurrence Rules"
-msgstr "Règles de récurrence"
-
-msgctxt "view:calendar.event.rrule:"
 msgid "Recurrence Rules"
 msgstr "Règles de récurrence"
 
@@ -1207,14 +1111,6 @@ msgid "Attendees"
 msgstr "Participants"
 
 msgctxt "view:calendar.event:"
-msgid "Attendees"
-msgstr "Participants"
-
-msgctxt "view:calendar.event:"
-msgid "Categories"
-msgstr "Catégories"
-
-msgctxt "view:calendar.event:"
 msgid "Categories"
 msgstr "Catégories"
 
@@ -1223,14 +1119,6 @@ msgid "Event"
 msgstr "Événement"
 
 msgctxt "view:calendar.event:"
-msgid "Event"
-msgstr "Événement"
-
-msgctxt "view:calendar.event:"
-msgid "Events"
-msgstr "Événements"
-
-msgctxt "view:calendar.event:"
 msgid "Events"
 msgstr "Événements"
 
@@ -1239,14 +1127,6 @@ msgid "General"
 msgstr "Général"
 
 msgctxt "view:calendar.event:"
-msgid "General"
-msgstr "Général"
-
-msgctxt "view:calendar.event:"
-msgid "Occurences"
-msgstr "Occurrences"
-
-msgctxt "view:calendar.event:"
 msgid "Occurences"
 msgstr "Occurrences"
 
@@ -1255,13 +1135,5 @@ msgid "Location"
 msgstr "Emplacement"
 
 msgctxt "view:calendar.location:"
-msgid "Location"
-msgstr "Emplacement"
-
-msgctxt "view:calendar.location:"
-msgid "Locations"
-msgstr "Emplacements"
-
-msgctxt "view:calendar.location:"
 msgid "Locations"
 msgstr "Emplacements"
diff --git a/locale/es_CO.po b/locale/sl_SI.po
similarity index 72%
copy from locale/es_CO.po
copy to locale/sl_SI.po
index 571f7af..4d76c5b 100644
--- a/locale/es_CO.po
+++ b/locale/sl_SI.po
@@ -4,123 +4,123 @@ msgstr "Content-Type: text/plain; charset=utf-8\n"
 
 msgctxt "error:calendar.calendar:"
 msgid "A user can have only one calendar."
-msgstr "Un usuario solo puede tener un calendario."
+msgstr "Uporabnik ima lahko samo en koledar."
 
 msgctxt "error:calendar.calendar:"
 msgid "Calendar name \"%s\" can not end with .ics"
-msgstr "El nombre del calendario \"%s\" no puede terminar con .ics"
+msgstr "Ime koledarja \"%s\" se ne sme končati z .ics"
 
 msgctxt "error:calendar.calendar:"
 msgid "The name of calendar must be unique."
-msgstr "El nombre de calendario debe ser único."
+msgstr "Ime koledarja mora biti edinstveno."
 
 msgctxt "error:calendar.category:"
 msgid "The name of calendar category must be unique."
-msgstr "¡El nombre de la categoría de calendario debe ser único!"
+msgstr "Ime kategorije koledarja mora biti edinstveno."
 
 msgctxt "error:calendar.event.exrule:"
 msgid "Invalid \"By Day\" in recurrence rule \"%s\""
-msgstr "Inválido \"Por Día\" en regla recurrente \"%s\""
+msgstr "Neveljavna izbira \"Na dan\" v ponovitvenem pravilu \"%s\""
 
 msgctxt "error:calendar.event.exrule:"
 msgid "Invalid \"By Hour\" in recurrence rule \"%s\""
-msgstr "Inválido \"Por Hora\" en regla recurrente \"%s\""
+msgstr "Neveljavna izbira \"Na uro\" v ponovitvenem pravilu \"%s\""
 
 msgctxt "error:calendar.event.exrule:"
 msgid "Invalid \"By Minute\" in recurrence rule \"%s\""
-msgstr "Inválido \"Por Minuto\" en regla recurrente \"%s\""
+msgstr "Neveljavna izbira \"Na minuto\" v ponovitvenem pravilu \"%s\""
 
 msgctxt "error:calendar.event.exrule:"
 msgid "Invalid \"By Month Day\" in recurrence rule \"%s\""
-msgstr "Inválido \"Por Día del Mes\" en regla recurrente \"%s\""
+msgstr "Neveljavna izbira \"Na dan v mesecu\" v ponovitvenem pravilu \"%s\""
 
 msgctxt "error:calendar.event.exrule:"
 msgid "Invalid \"By Month\" in recurrence rule \"%s\""
-msgstr "Inválido \"Por Mes\" en regla recurrente \"%s\""
+msgstr "Neveljavna izbira \"Na mesec\" v ponovitvenem pravilu \"%s\""
 
 msgctxt "error:calendar.event.exrule:"
 msgid "Invalid \"By Position\" in recurrence rule \"%s\""
-msgstr "Inválido \"Por Position\" en regla recurrente \"%s\""
+msgstr "Neveljavna izbira \"Na pozicijo\" v ponovitvenem pravilu \"%s\""
 
 msgctxt "error:calendar.event.exrule:"
 msgid "Invalid \"By Second\" in recurrence rule \"%s\""
-msgstr "Inválido \"Por Segundo\" en regla recurrente \"%s\""
+msgstr "Neveljavna izbira \"Na sekundo\" v ponovitvenem pravilu \"%s\""
 
 msgctxt "error:calendar.event.exrule:"
 msgid "Invalid \"By Week Number\" in recurrence rule \"%s\""
-msgstr "Inválido \"Por Número de la Semana\" en regla recurrente \"%s\""
+msgstr "Neveljavna izbira \"Na teden v letu\" v ponovitvenem pravilu \"%s\""
 
 msgctxt "error:calendar.event.exrule:"
 msgid "Invalid \"By Year Day\" in recurrence rule \"%s\""
-msgstr "Inválido \"Por Día del Año\" en regla recurrente \"%s\""
+msgstr "Neveljavna izbira \"Na dan v letu\" v ponovitvenem pravilu \"%s\""
 
 msgctxt "error:calendar.event.exrule:"
 msgid "Only one of \"until\" and \"count\" can be set."
-msgstr "Solo un \"hasta\" y \"contar\" pude ser establecido!"
+msgstr "Nastavi se lahko samo \"do\" ali \"število\"."
 
 msgctxt "error:calendar.event.rrule:"
 msgid "Invalid \"By Day\" in recurrence rule \"%s\""
-msgstr "Inválido \"Por Día\" en regla recurrente \"%s\""
+msgstr "Neveljavna izbira \"Na dan\" v ponovitvenem pravilu \"%s\""
 
 msgctxt "error:calendar.event.rrule:"
 msgid "Invalid \"By Hour\" in recurrence rule \"%s\""
-msgstr "Inválido \"Por Hora\" en regla recurrente \"%s\""
+msgstr "Neveljavna izbira \"Na uro\" v ponovitvenem pravilu \"%s\""
 
 msgctxt "error:calendar.event.rrule:"
 msgid "Invalid \"By Minute\" in recurrence rule \"%s\""
-msgstr "Inválido \"Por Minuto\" en regla recurrente \"%s\""
+msgstr "Neveljavna izbira \"Na minuto\" v ponovitvenem pravilu \"%s\""
 
 msgctxt "error:calendar.event.rrule:"
 msgid "Invalid \"By Month Day\" in recurrence rule \"%s\""
-msgstr "Inválido \"Por Día del Mes\" en regla recurrente \"%s\""
+msgstr "Neveljavna izbira \"Na dan v mesecu\" v ponovitvenem pravilu \"%s\""
 
 msgctxt "error:calendar.event.rrule:"
 msgid "Invalid \"By Month\" in recurrence rule \"%s\""
-msgstr "Inválido \"Por Mes\" en regla recurrente \"%s\""
+msgstr "Neveljavna izbira \"Na mesec\" v ponovitvenem pravilu \"%s\""
 
 msgctxt "error:calendar.event.rrule:"
 msgid "Invalid \"By Position\" in recurrence rule \"%s\""
-msgstr "Inválido \"Por Posición\" en regla recurrente \"%s\""
+msgstr "Neveljavna izbira \"Na pozicijo\" v ponovitvenem pravilu \"%s\""
 
 msgctxt "error:calendar.event.rrule:"
 msgid "Invalid \"By Second\" in recurrence rule \"%s\""
-msgstr "Inválido \"Por Segundo\" en regla recurrente \"%s\""
+msgstr "Neveljavna izbira \"Na sekundo\" v ponovitvenem pravilu \"%s\""
 
 msgctxt "error:calendar.event.rrule:"
 msgid "Invalid \"By Week Number\" in recurrence rule \"%s\""
-msgstr "Inválido \"Por Número de Semana\" en regla recurrente \"%s\""
+msgstr "Neveljavna izbira \"Na teden v letu\" v ponovitvenem pravilu \"%s\""
 
 msgctxt "error:calendar.event.rrule:"
 msgid "Invalid \"By Year Day\" in recurrence rule \"%s\""
-msgstr "Inválido \"Por Día del Año\" en regla recurrente \"%s\""
+msgstr "Neveljavna izbira \"Na dan v letu\" v ponovitvenem pravilu \"%s\""
 
 msgctxt "error:calendar.event.rrule:"
 msgid "Only one of \"until\" and \"count\" can be set."
-msgstr "Solo un \"hasta\" y \"contar\" pude ser establecido!"
+msgstr "Nastavi se lahko samo \"do\" ali \"število\"."
 
 msgctxt "error:calendar.event:"
 msgid "Recurrence \"%s\" can not be recurrent."
-msgstr "Recurrencia \"%s\" no puede ser recurrente."
+msgstr "Ponovitev \"%s\" se ne more ponavljati."
 
 msgctxt "error:calendar.event:"
 msgid "UUID and recurrence must be unique in a calendar."
-msgstr "UUID y recurrencia debe ser única en un calendario."
+msgstr "UUID in ponovitev morata biti v koledarju edinstvena."
 
 msgctxt "error:calendar.location:"
 msgid "The name of calendar location must be unique."
-msgstr "El nombre de la ubicación del calendario bede ser único."
+msgstr "Ime lokacije koledarja mora biti edinstveno."
 
 msgctxt "field:calendar.calendar,create_date:"
 msgid "Create Date"
-msgstr "Fecha de Creación"
+msgstr "Ustvarjeno"
 
 msgctxt "field:calendar.calendar,create_uid:"
 msgid "Create User"
-msgstr "Creado por Usuario"
+msgstr "Ustvaril"
 
 msgctxt "field:calendar.calendar,description:"
 msgid "Description"
-msgstr "Descripción"
+msgstr "Opis"
 
 msgctxt "field:calendar.calendar,id:"
 msgid "ID"
@@ -128,43 +128,43 @@ msgstr "ID"
 
 msgctxt "field:calendar.calendar,name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Ident"
 
 msgctxt "field:calendar.calendar,owner:"
 msgid "Owner"
-msgstr "Propietario"
+msgstr "Imetnik"
 
 msgctxt "field:calendar.calendar,read_users:"
 msgid "Read Users"
-msgstr "Usuarios que pueden Leer"
+msgstr "Bralci"
 
 msgctxt "field:calendar.calendar,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Ime"
 
 msgctxt "field:calendar.calendar,write_date:"
 msgid "Write Date"
-msgstr "Fecha de Modificación"
+msgstr "Zapisano"
 
 msgctxt "field:calendar.calendar,write_uid:"
 msgid "Write User"
-msgstr "Modificado por Usuario"
+msgstr "Zapisal"
 
 msgctxt "field:calendar.calendar,write_users:"
 msgid "Write Users"
-msgstr "Modificado por Usuario"
+msgstr "Zapisovalci"
 
 msgctxt "field:calendar.calendar-read-res.user,calendar:"
 msgid "Calendar"
-msgstr "Calendario"
+msgstr "Koledar"
 
 msgctxt "field:calendar.calendar-read-res.user,create_date:"
 msgid "Create Date"
-msgstr "Fecha de Creación"
+msgstr "Ustvarjeno"
 
 msgctxt "field:calendar.calendar-read-res.user,create_uid:"
 msgid "Create User"
-msgstr "Creado por Usuario"
+msgstr "Ustvaril"
 
 msgctxt "field:calendar.calendar-read-res.user,id:"
 msgid "ID"
@@ -172,31 +172,31 @@ msgstr "ID"
 
 msgctxt "field:calendar.calendar-read-res.user,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Ime"
 
 msgctxt "field:calendar.calendar-read-res.user,user:"
 msgid "User"
-msgstr "Usuario"
+msgstr "Uporabnik"
 
 msgctxt "field:calendar.calendar-read-res.user,write_date:"
 msgid "Write Date"
-msgstr "Fecha de Modificación"
+msgstr "Zapisano"
 
 msgctxt "field:calendar.calendar-read-res.user,write_uid:"
 msgid "Write User"
-msgstr "Modificado por Usuario"
+msgstr "Zapisal"
 
 msgctxt "field:calendar.calendar-write-res.user,calendar:"
 msgid "Calendar"
-msgstr "Calendario"
+msgstr "Koledar"
 
 msgctxt "field:calendar.calendar-write-res.user,create_date:"
 msgid "Create Date"
-msgstr "Fecha de Creación"
+msgstr "Ustvarjeno"
 
 msgctxt "field:calendar.calendar-write-res.user,create_uid:"
 msgid "Create User"
-msgstr "Creado por Usuario"
+msgstr "Ustvaril"
 
 msgctxt "field:calendar.calendar-write-res.user,id:"
 msgid "ID"
@@ -204,27 +204,27 @@ msgstr "ID"
 
 msgctxt "field:calendar.calendar-write-res.user,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Ime"
 
 msgctxt "field:calendar.calendar-write-res.user,user:"
 msgid "User"
-msgstr "Usuario"
+msgstr "Uporabnik"
 
 msgctxt "field:calendar.calendar-write-res.user,write_date:"
 msgid "Write Date"
-msgstr "Fecha de Modificación"
+msgstr "Zapisano"
 
 msgctxt "field:calendar.calendar-write-res.user,write_uid:"
 msgid "Write User"
-msgstr "Modificado por Usuario"
+msgstr "Zapisal"
 
 msgctxt "field:calendar.category,create_date:"
 msgid "Create Date"
-msgstr "Fecha de Creación"
+msgstr "Ustvarjeno"
 
 msgctxt "field:calendar.category,create_uid:"
 msgid "Create User"
-msgstr "Creado por Usuario"
+msgstr "Ustvaril"
 
 msgctxt "field:calendar.category,id:"
 msgid "ID"
@@ -232,83 +232,83 @@ msgstr "ID"
 
 msgctxt "field:calendar.category,name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Naziv"
 
 msgctxt "field:calendar.category,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Ime"
 
 msgctxt "field:calendar.category,write_date:"
 msgid "Write Date"
-msgstr "Fecha de Modificación"
+msgstr "Zapisano"
 
 msgctxt "field:calendar.category,write_uid:"
 msgid "Write User"
-msgstr "Modificado por Usuario"
+msgstr "Zapisal"
 
 msgctxt "field:calendar.event,alarms:"
 msgid "Alarms"
-msgstr "Alarmas"
+msgstr "Alarmi"
 
 msgctxt "field:calendar.event,all_day:"
 msgid "All Day"
-msgstr "Todo el Día"
+msgstr "Cel dan"
 
 msgctxt "field:calendar.event,attendees:"
 msgid "Attendees"
-msgstr "Asistentes"
+msgstr "Navzoči"
 
 msgctxt "field:calendar.event,calendar:"
 msgid "Calendar"
-msgstr "Calendario"
+msgstr "Koledar"
 
 msgctxt "field:calendar.event,calendar_owner:"
 msgid "Owner"
-msgstr "Propietario"
+msgstr "Imetnik"
 
 msgctxt "field:calendar.event,calendar_read_users:"
 msgid "Read Users"
-msgstr "Usuarios que pueden Leer"
+msgstr "Bralci"
 
 msgctxt "field:calendar.event,calendar_write_users:"
 msgid "Write Users"
-msgstr "Modificado por Usuario"
+msgstr "Zapisovalci"
 
 msgctxt "field:calendar.event,categories:"
 msgid "Categories"
-msgstr "Categorías"
+msgstr "Kategorije"
 
 msgctxt "field:calendar.event,classification:"
 msgid "Classification"
-msgstr "Clasificación"
+msgstr "Klasifikacija"
 
 msgctxt "field:calendar.event,create_date:"
 msgid "Create Date"
-msgstr "Fecha de Creación"
+msgstr "Ustvarjeno"
 
 msgctxt "field:calendar.event,create_uid:"
 msgid "Create User"
-msgstr "Creado por Usuario"
+msgstr "Ustvaril"
 
 msgctxt "field:calendar.event,description:"
 msgid "Description"
-msgstr "Descripción"
+msgstr "Opis"
 
 msgctxt "field:calendar.event,dtend:"
 msgid "End Date"
-msgstr "Fecha Fin"
+msgstr "Končni datum"
 
 msgctxt "field:calendar.event,dtstart:"
 msgid "Start Date"
-msgstr "Fecha Inicial"
+msgstr "Začetni datum"
 
 msgctxt "field:calendar.event,exdates:"
 msgid "Exception Dates"
-msgstr "Fechas de Excepción"
+msgstr "Izjemni datumi"
 
 msgctxt "field:calendar.event,exrules:"
 msgid "Exception Rules"
-msgstr "Reglas de Excepción"
+msgstr "Izjemna pravila"
 
 msgctxt "field:calendar.event,id:"
 msgid "ID"
@@ -316,55 +316,55 @@ msgstr "ID"
 
 msgctxt "field:calendar.event,location:"
 msgid "Location"
-msgstr "Lugar"
+msgstr "Lokacija"
 
 msgctxt "field:calendar.event,occurences:"
 msgid "Occurences"
-msgstr "Ocurrencias"
+msgstr "Pojavljanje"
 
 msgctxt "field:calendar.event,organizer:"
 msgid "Organizer"
-msgstr "Organizador"
+msgstr "Organizator"
 
 msgctxt "field:calendar.event,parent:"
 msgid "Parent"
-msgstr "Padre"
+msgstr "Poddogodek"
 
 msgctxt "field:calendar.event,rdates:"
 msgid "Recurrence Dates"
-msgstr "Fechas de Repetición"
+msgstr "Datumi ponovitev"
 
 msgctxt "field:calendar.event,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Ime"
 
 msgctxt "field:calendar.event,recurrence:"
 msgid "Recurrence"
-msgstr "Repetición"
+msgstr "Ponovitev"
 
 msgctxt "field:calendar.event,rrules:"
 msgid "Recurrence Rules"
-msgstr "Reglas de Repetición"
+msgstr "Pravila ponovitev"
 
 msgctxt "field:calendar.event,sequence:"
 msgid "Sequence"
-msgstr "Secuencia"
+msgstr "Zap.št."
 
 msgctxt "field:calendar.event,status:"
 msgid "Status"
-msgstr "Estado"
+msgstr "Status"
 
 msgctxt "field:calendar.event,summary:"
 msgid "Summary"
-msgstr "Resumen"
+msgstr "Povzetek"
 
 msgctxt "field:calendar.event,timezone:"
 msgid "Timezone"
-msgstr "Zona horaria"
+msgstr "Časovni pas"
 
 msgctxt "field:calendar.event,transp:"
 msgid "Time Transparency"
-msgstr "Transparencia de Tiempo"
+msgstr "Časovna preglednost"
 
 msgctxt "field:calendar.event,uuid:"
 msgid "UUID"
@@ -372,31 +372,31 @@ msgstr "UUID"
 
 msgctxt "field:calendar.event,vevent:"
 msgid "vevent"
-msgstr "vevento"
+msgstr "vevent"
 
 msgctxt "field:calendar.event,write_date:"
 msgid "Write Date"
-msgstr "Fecha de Modificación"
+msgstr "Zapisano"
 
 msgctxt "field:calendar.event,write_uid:"
 msgid "Write User"
-msgstr "Modificado por Usuario"
+msgstr "Zapisal"
 
 msgctxt "field:calendar.event-calendar.category,category:"
 msgid "Category"
-msgstr "Categoría"
+msgstr "Kategorija"
 
 msgctxt "field:calendar.event-calendar.category,create_date:"
 msgid "Create Date"
-msgstr "Fecha de Creación"
+msgstr "Ustvarjeno"
 
 msgctxt "field:calendar.event-calendar.category,create_uid:"
 msgid "Create User"
-msgstr "Creado por Usuario"
+msgstr "Ustvaril"
 
 msgctxt "field:calendar.event-calendar.category,event:"
 msgid "Event"
-msgstr "Evento"
+msgstr "Dogodek"
 
 msgctxt "field:calendar.event-calendar.category,id:"
 msgid "ID"
@@ -404,27 +404,27 @@ msgstr "ID"
 
 msgctxt "field:calendar.event-calendar.category,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Ime"
 
 msgctxt "field:calendar.event-calendar.category,write_date:"
 msgid "Write Date"
-msgstr "Fecha de Modificación"
+msgstr "Zapisano"
 
 msgctxt "field:calendar.event-calendar.category,write_uid:"
 msgid "Write User"
-msgstr "Modificado por Usuario"
+msgstr "Zapisal"
 
 msgctxt "field:calendar.event.alarm,create_date:"
 msgid "Create Date"
-msgstr "Fecha de Creación"
+msgstr "Ustvarjeno"
 
 msgctxt "field:calendar.event.alarm,create_uid:"
 msgid "Create User"
-msgstr "Creado por Usuario"
+msgstr "Ustvaril"
 
 msgctxt "field:calendar.event.alarm,event:"
 msgid "Event"
-msgstr "Evento"
+msgstr "Dogodek"
 
 msgctxt "field:calendar.event.alarm,id:"
 msgid "ID"
@@ -432,39 +432,39 @@ msgstr "ID"
 
 msgctxt "field:calendar.event.alarm,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Ime"
 
 msgctxt "field:calendar.event.alarm,valarm:"
 msgid "valarm"
-msgstr "valarma"
+msgstr "valarm"
 
 msgctxt "field:calendar.event.alarm,write_date:"
 msgid "Write Date"
-msgstr "Fecha de Modificación"
+msgstr "Zapisano"
 
 msgctxt "field:calendar.event.alarm,write_uid:"
 msgid "Write User"
-msgstr "Modificado por Usuario"
+msgstr "Zapisal"
 
 msgctxt "field:calendar.event.attendee,attendee:"
 msgid "attendee"
-msgstr "Asistente"
+msgstr "Navzoči"
 
 msgctxt "field:calendar.event.attendee,create_date:"
 msgid "Create Date"
-msgstr "Fecha de Creación"
+msgstr "Ustvarjeno"
 
 msgctxt "field:calendar.event.attendee,create_uid:"
 msgid "Create User"
-msgstr "Creado por Usuario"
+msgstr "Ustvaril"
 
 msgctxt "field:calendar.event.attendee,email:"
 msgid "Email"
-msgstr "Correo Electrónico"
+msgstr "E-pošta"
 
 msgctxt "field:calendar.event.attendee,event:"
 msgid "Event"
-msgstr "Evento"
+msgstr "Dogodek"
 
 msgctxt "field:calendar.event.attendee,id:"
 msgid "ID"
@@ -472,39 +472,39 @@ msgstr "ID"
 
 msgctxt "field:calendar.event.attendee,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Ime"
 
 msgctxt "field:calendar.event.attendee,status:"
 msgid "Participation Status"
-msgstr "Estado de Participación"
+msgstr "Status udeleženca"
 
 msgctxt "field:calendar.event.attendee,write_date:"
 msgid "Write Date"
-msgstr "Fecha de Modificación"
+msgstr "Zapisano"
 
 msgctxt "field:calendar.event.attendee,write_uid:"
 msgid "Write User"
-msgstr "Modificado por Usuario"
+msgstr "Zapisal"
 
 msgctxt "field:calendar.event.exdate,create_date:"
 msgid "Create Date"
-msgstr "Fecha de Creación"
+msgstr "Ustvarjeno"
 
 msgctxt "field:calendar.event.exdate,create_uid:"
 msgid "Create User"
-msgstr "Creado por Usuario"
+msgstr "Ustvaril"
 
 msgctxt "field:calendar.event.exdate,date:"
 msgid "Is Date"
-msgstr "Esta Fecha"
+msgstr "Je datum"
 
 msgctxt "field:calendar.event.exdate,datetime:"
 msgid "Date"
-msgstr "Fecha"
+msgstr "Datum"
 
 msgctxt "field:calendar.event.exdate,event:"
 msgid "Event"
-msgstr "Evento"
+msgstr "Dogodek"
 
 msgctxt "field:calendar.event.exdate,id:"
 msgid "ID"
@@ -512,71 +512,71 @@ msgstr "ID"
 
 msgctxt "field:calendar.event.exdate,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Ime"
 
 msgctxt "field:calendar.event.exdate,write_date:"
 msgid "Write Date"
-msgstr "Fecha de Modificación"
+msgstr "Zapisano"
 
 msgctxt "field:calendar.event.exdate,write_uid:"
 msgid "Write User"
-msgstr "Modificado por Usuario"
+msgstr "Zapisal"
 
 msgctxt "field:calendar.event.exrule,byday:"
 msgid "By Day"
-msgstr "Por Día"
+msgstr "Na dan"
 
 msgctxt "field:calendar.event.exrule,byhour:"
 msgid "By Hour"
-msgstr "Por Hora"
+msgstr "Na uro"
 
 msgctxt "field:calendar.event.exrule,byminute:"
 msgid "By Minute"
-msgstr "Por Minuto"
+msgstr "Na minuto"
 
 msgctxt "field:calendar.event.exrule,bymonth:"
 msgid "By Month"
-msgstr "Por Mes"
+msgstr "Na mesec"
 
 msgctxt "field:calendar.event.exrule,bymonthday:"
 msgid "By Month Day"
-msgstr "Por Día del Mes"
+msgstr "Na dan v mesecu"
 
 msgctxt "field:calendar.event.exrule,bysecond:"
 msgid "By Second"
-msgstr "Por Segundo"
+msgstr "Na sekundo"
 
 msgctxt "field:calendar.event.exrule,bysetpos:"
 msgid "By Position"
-msgstr "Por Posición"
+msgstr "Na pozicijo"
 
 msgctxt "field:calendar.event.exrule,byweekno:"
 msgid "By Week Number"
-msgstr "Por Número de la Semana"
+msgstr "Na teden v letu"
 
 msgctxt "field:calendar.event.exrule,byyearday:"
 msgid "By Year Day"
-msgstr "Por Día del Año"
+msgstr "Na dan v letu"
 
 msgctxt "field:calendar.event.exrule,count:"
 msgid "Count"
-msgstr "Contar"
+msgstr "Število"
 
 msgctxt "field:calendar.event.exrule,create_date:"
 msgid "Create Date"
-msgstr "Fecha de Creación"
+msgstr "Ustvarjeno"
 
 msgctxt "field:calendar.event.exrule,create_uid:"
 msgid "Create User"
-msgstr "Creado por Usuario"
+msgstr "Ustvaril"
 
 msgctxt "field:calendar.event.exrule,event:"
 msgid "Event"
-msgstr "Evento"
+msgstr "Dogodek"
 
 msgctxt "field:calendar.event.exrule,freq:"
 msgid "Frequency"
-msgstr "Frecuencia"
+msgstr "Frekvenca"
 
 msgctxt "field:calendar.event.exrule,id:"
 msgid "ID"
@@ -584,51 +584,51 @@ msgstr "ID"
 
 msgctxt "field:calendar.event.exrule,interval:"
 msgid "Interval"
-msgstr "Intervalo"
+msgstr "Interval"
 
 msgctxt "field:calendar.event.exrule,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Ime"
 
 msgctxt "field:calendar.event.exrule,until:"
 msgid "Until Date"
-msgstr "Hasta la Fecha"
+msgstr "Do dne"
 
 msgctxt "field:calendar.event.exrule,until_date:"
 msgid "Is Date"
-msgstr "Esta Fecha"
+msgstr "Je datum"
 
 msgctxt "field:calendar.event.exrule,wkst:"
 msgid "Week Day"
-msgstr "Día de la Semana"
+msgstr "Dan v tednu"
 
 msgctxt "field:calendar.event.exrule,write_date:"
 msgid "Write Date"
-msgstr "Fecha de Modificación"
+msgstr "Zapisano"
 
 msgctxt "field:calendar.event.exrule,write_uid:"
 msgid "Write User"
-msgstr "Modificado por Usuario"
+msgstr "Zapisal"
 
 msgctxt "field:calendar.event.rdate,create_date:"
 msgid "Create Date"
-msgstr "Fecha de Creación"
+msgstr "Ustvarjeno"
 
 msgctxt "field:calendar.event.rdate,create_uid:"
 msgid "Create User"
-msgstr "Creado por Usuario"
+msgstr "Ustvaril"
 
 msgctxt "field:calendar.event.rdate,date:"
 msgid "Is Date"
-msgstr "Esta Fecha"
+msgstr "Je datum"
 
 msgctxt "field:calendar.event.rdate,datetime:"
 msgid "Date"
-msgstr "Fecha"
+msgstr "Datum"
 
 msgctxt "field:calendar.event.rdate,event:"
 msgid "Event"
-msgstr "Evento"
+msgstr "Dogodek"
 
 msgctxt "field:calendar.event.rdate,id:"
 msgid "ID"
@@ -636,71 +636,71 @@ msgstr "ID"
 
 msgctxt "field:calendar.event.rdate,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Ime"
 
 msgctxt "field:calendar.event.rdate,write_date:"
 msgid "Write Date"
-msgstr "Fecha de Modificación"
+msgstr "Zapisano"
 
 msgctxt "field:calendar.event.rdate,write_uid:"
 msgid "Write User"
-msgstr "Modificado por Usuario"
+msgstr "Zapisal"
 
 msgctxt "field:calendar.event.rrule,byday:"
 msgid "By Day"
-msgstr "Por Día"
+msgstr "Na dan"
 
 msgctxt "field:calendar.event.rrule,byhour:"
 msgid "By Hour"
-msgstr "Por Hora"
+msgstr "Na uro"
 
 msgctxt "field:calendar.event.rrule,byminute:"
 msgid "By Minute"
-msgstr "Por Minuto"
+msgstr "Na minuto"
 
 msgctxt "field:calendar.event.rrule,bymonth:"
 msgid "By Month"
-msgstr "Por Mes"
+msgstr "Na mesec"
 
 msgctxt "field:calendar.event.rrule,bymonthday:"
 msgid "By Month Day"
-msgstr "Por Día del Mes"
+msgstr "Na dan v mesecu"
 
 msgctxt "field:calendar.event.rrule,bysecond:"
 msgid "By Second"
-msgstr "Por Segundo"
+msgstr "Na sekundo"
 
 msgctxt "field:calendar.event.rrule,bysetpos:"
 msgid "By Position"
-msgstr "Por Posición"
+msgstr "Na pozicijo"
 
 msgctxt "field:calendar.event.rrule,byweekno:"
 msgid "By Week Number"
-msgstr "Por Número de la Semana"
+msgstr "Na teden v letu"
 
 msgctxt "field:calendar.event.rrule,byyearday:"
 msgid "By Year Day"
-msgstr "Por Día del Año"
+msgstr "Na dan v letu"
 
 msgctxt "field:calendar.event.rrule,count:"
 msgid "Count"
-msgstr "Contar"
+msgstr "Število"
 
 msgctxt "field:calendar.event.rrule,create_date:"
 msgid "Create Date"
-msgstr "Fecha de Creación"
+msgstr "Ustvarjeno"
 
 msgctxt "field:calendar.event.rrule,create_uid:"
 msgid "Create User"
-msgstr "Creado por Usuario"
+msgstr "Ustvaril"
 
 msgctxt "field:calendar.event.rrule,event:"
 msgid "Event"
-msgstr "Evento"
+msgstr "Dogodek"
 
 msgctxt "field:calendar.event.rrule,freq:"
 msgid "Frequency"
-msgstr "Frecuencia"
+msgstr "Frekvenca"
 
 msgctxt "field:calendar.event.rrule,id:"
 msgid "ID"
@@ -708,39 +708,39 @@ msgstr "ID"
 
 msgctxt "field:calendar.event.rrule,interval:"
 msgid "Interval"
-msgstr "Intervalo"
+msgstr "Interval"
 
 msgctxt "field:calendar.event.rrule,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Ime"
 
 msgctxt "field:calendar.event.rrule,until:"
 msgid "Until Date"
-msgstr "Hasta la Fecha"
+msgstr "Do dne"
 
 msgctxt "field:calendar.event.rrule,until_date:"
 msgid "Is Date"
-msgstr "Esta Fecha"
+msgstr "Je datum"
 
 msgctxt "field:calendar.event.rrule,wkst:"
 msgid "Week Day"
-msgstr "Día de la Semana"
+msgstr "Dan v tednu"
 
 msgctxt "field:calendar.event.rrule,write_date:"
 msgid "Write Date"
-msgstr "Fecha de Modificación"
+msgstr "Zapisano"
 
 msgctxt "field:calendar.event.rrule,write_uid:"
 msgid "Write User"
-msgstr "Modificado por Usuario"
+msgstr "Zapisal"
 
 msgctxt "field:calendar.location,create_date:"
 msgid "Create Date"
-msgstr "Fecha de Creación"
+msgstr "Ustvarjeno"
 
 msgctxt "field:calendar.location,create_uid:"
 msgid "Create User"
-msgstr "Creado por Usuario"
+msgstr "Ustvaril"
 
 msgctxt "field:calendar.location,id:"
 msgid "ID"
@@ -748,399 +748,392 @@ msgstr "ID"
 
 msgctxt "field:calendar.location,name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Naziv"
 
 msgctxt "field:calendar.location,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Ime"
 
 msgctxt "field:calendar.location,write_date:"
 msgid "Write Date"
-msgstr "Fecha de Modificación"
+msgstr "Zapisano"
 
 msgctxt "field:calendar.location,write_uid:"
 msgid "Write User"
-msgstr "Modificado por Usuario"
+msgstr "Zapisal"
 
 msgctxt "field:res.user,calendars:"
 msgid "Calendars"
-msgstr "Calendarios"
+msgstr "Koledarji"
 
 msgctxt "help:calendar.calendar,owner:"
 msgid "The user must have an email"
-msgstr "El usuario debe tener un email"
+msgstr "Uporabnik mora imeti elektronski naslov"
 
 msgctxt "help:calendar.event,uuid:"
 msgid "Universally Unique Identifier"
-msgstr "Idenitificador Universal Único"
+msgstr "Vsesplošno edinstven identifikator"
 
 msgctxt "help:calendar.event.exdate,date:"
 msgid "Ignore time of field \"Date\", but handle as date only."
-msgstr "Ignore tiempo del campo \"Fecha\", pero manejelo como fecha solamente."
+msgstr "Prezri čas v polju \"Datum\" in ga samo obravnavaj kot datum."
 
 msgctxt "help:calendar.event.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 "Prezri čas v polju \"Do dne\" in ga samo obravnavaj kot datum."
 
 msgctxt "help:calendar.event.rdate,date:"
 msgid "Ignore time of field \"Date\", but handle as date only."
-msgstr "Ignore tiempo del campo \"Fecha\", pero manejelo como fecha solamente."
+msgstr "Prezri čas v polju \"Datum\" in ga samo obravnavaj kot datum."
 
 msgctxt "help:calendar.event.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 "Prezri čas v polju \"Do dne\" in ga samo obravnavaj kot datum."
 
 msgctxt "model:calendar.calendar,name:"
 msgid "Calendar"
-msgstr "Calendario"
+msgstr "Koledar"
 
 msgctxt "model:calendar.calendar-read-res.user,name:"
 msgid "Calendar - read - User"
-msgstr "Calendario - leer - Usuario"
+msgstr "Koledar - branje - Uporabnik"
 
 msgctxt "model:calendar.calendar-write-res.user,name:"
 msgid "Calendar - write - User"
-msgstr "Calendario - escribir - Usuario"
+msgstr "Koledar - pisanje - Uporabnik"
 
 msgctxt "model:calendar.category,name:"
 msgid "Category"
-msgstr "Categoría"
+msgstr "Kategorija"
 
 msgctxt "model:calendar.event,name:"
 msgid "Event"
-msgstr "Evento"
+msgstr "Dogodek"
 
 msgctxt "model:calendar.event-calendar.category,name:"
 msgid "Event - Category"
-msgstr "Evento - Categoría"
+msgstr "Dogodek - Kategorija"
 
 msgctxt "model:calendar.event.alarm,name:"
 msgid "Alarm"
-msgstr "Alarma"
+msgstr "Alarm"
 
 msgctxt "model:calendar.event.attendee,name:"
 msgid "Attendee"
-msgstr "Asistente"
+msgstr "Navzoči"
 
 msgctxt "model:calendar.event.exdate,name:"
 msgid "Exception Date"
-msgstr "Fecha de Excepción"
+msgstr "Izjemni datum"
 
 msgctxt "model:calendar.event.exrule,name:"
 msgid "Exception Rule"
-msgstr "Regla de Excepción"
+msgstr "Izjemno pravilo"
 
 msgctxt "model:calendar.event.rdate,name:"
 msgid "Recurrence Date"
-msgstr "Fecha de Repetición"
+msgstr "Datum ponovitve"
 
 msgctxt "model:calendar.event.rrule,name:"
 msgid "Recurrence Rule"
-msgstr "Regla de Repetición"
+msgstr "Pravilo ponovitve"
 
 msgctxt "model:calendar.location,name:"
 msgid "Location"
-msgstr "Lugar"
+msgstr "Lokacija"
 
 msgctxt "model:ir.action,name:act_calendar_form"
 msgid "Calendars"
-msgstr "Calendarios"
+msgstr "Koledarji"
 
 msgctxt "model:ir.action,name:act_event_form"
 msgid "Events"
-msgstr "Eventos"
+msgstr "Dogodki"
 
 msgctxt "model:ir.action,name:act_event_form3"
 msgid "Events"
-msgstr "Eventos"
+msgstr "Dogodki"
 
 msgctxt "model:ir.ui.menu,name:menu_calendar"
 msgid "Calendar"
-msgstr "Calendario"
+msgstr "Koledar"
 
 msgctxt "model:ir.ui.menu,name:menu_calendar_form"
 msgid "Calendars"
-msgstr "Calendarios"
+msgstr "Koledarji"
 
 msgctxt "model:ir.ui.menu,name:menu_event_form"
 msgid "Events"
-msgstr "Eventos"
+msgstr "Dogodki"
 
 msgctxt "model:res.group,name:group_calendar_admin"
 msgid "Calendar Administration"
-msgstr "Administración Calendario"
+msgstr "Koledar - vodenje"
 
 msgctxt "selection:calendar.event,classification:"
 msgid "Confidential"
-msgstr "Confidencial"
+msgstr "Zaupno"
 
 msgctxt "selection:calendar.event,classification:"
 msgid "Private"
-msgstr "Privado"
+msgstr "Zasebno"
 
 msgctxt "selection:calendar.event,classification:"
 msgid "Public"
-msgstr "Público"
+msgstr "Javno"
 
-#, fuzzy
 msgctxt "selection:calendar.event,status:"
 msgid ""
-msgstr "Punto de Orden"
+msgstr ""
 
 msgctxt "selection:calendar.event,status:"
 msgid "Cancelled"
-msgstr "Cancelado"
+msgstr "Preklicano"
 
 msgctxt "selection:calendar.event,status:"
 msgid "Confirmed"
-msgstr "Confirmado"
+msgstr "Potrjeno"
 
 msgctxt "selection:calendar.event,status:"
 msgid "Tentative"
-msgstr "Tentativa"
+msgstr "Negotovo"
 
 msgctxt "selection:calendar.event,transp:"
 msgid "Opaque"
-msgstr "Opaco"
+msgstr "Nepregledno"
 
 msgctxt "selection:calendar.event,transp:"
 msgid "Transparent"
-msgstr "Transparente"
+msgstr "Pregledno"
 
-#, fuzzy
 msgctxt "selection:calendar.event.attendee,status:"
 msgid ""
-msgstr "Punto de Orden"
+msgstr ""
 
 msgctxt "selection:calendar.event.attendee,status:"
 msgid "Accepted"
-msgstr "Aceptado"
+msgstr "Sprejeto"
 
 msgctxt "selection:calendar.event.attendee,status:"
 msgid "Declined"
-msgstr "Declinado"
+msgstr "Zavrnjeno"
 
 msgctxt "selection:calendar.event.attendee,status:"
 msgid "Delegated"
-msgstr "Delegado"
+msgstr "Delegirano"
 
 msgctxt "selection:calendar.event.attendee,status:"
 msgid "Needs Action"
-msgstr "Necesita una Acción"
+msgstr "Potreben ukrep"
 
 msgctxt "selection:calendar.event.attendee,status:"
 msgid "Tentative"
-msgstr "Tentativa"
+msgstr "Negotovo"
 
 msgctxt "selection:calendar.event.exrule,freq:"
 msgid "Daily"
-msgstr "Diario"
+msgstr "Dnevno"
 
 msgctxt "selection:calendar.event.exrule,freq:"
 msgid "Hourly"
-msgstr "Cada Hora"
+msgstr "Na uro"
 
 msgctxt "selection:calendar.event.exrule,freq:"
 msgid "Minutely"
-msgstr "Cada Minuto"
+msgstr "Na minuto"
 
 msgctxt "selection:calendar.event.exrule,freq:"
 msgid "Monthly"
-msgstr "Mensualmente"
+msgstr "Mesečno"
 
 msgctxt "selection:calendar.event.exrule,freq:"
 msgid "Secondly"
-msgstr "En segundo lugar"
+msgstr "Na sekundo"
 
 msgctxt "selection:calendar.event.exrule,freq:"
 msgid "Weekly"
-msgstr "Semanalmente"
+msgstr "Tedensko"
 
 msgctxt "selection:calendar.event.exrule,freq:"
 msgid "Yearly"
-msgstr "Anualmente"
+msgstr "Letno"
 
 msgctxt "selection:calendar.event.exrule,wkst:"
 msgid "Friday"
-msgstr "Viernes"
+msgstr "Petek"
 
 msgctxt "selection:calendar.event.exrule,wkst:"
 msgid "Monday"
-msgstr "Lunes"
+msgstr "Ponedeljek"
 
 msgctxt "selection:calendar.event.exrule,wkst:"
 msgid "Saturday"
-msgstr "Sábado"
+msgstr "Sobota"
 
 msgctxt "selection:calendar.event.exrule,wkst:"
 msgid "Sunday"
-msgstr "Domingo"
+msgstr "Nedelja"
 
 msgctxt "selection:calendar.event.exrule,wkst:"
 msgid "Thursday"
-msgstr "Jueves"
+msgstr "Četrtek"
 
 msgctxt "selection:calendar.event.exrule,wkst:"
 msgid "Tuesday"
-msgstr "Martes"
+msgstr "Torek"
 
 msgctxt "selection:calendar.event.exrule,wkst:"
 msgid "Wednesday"
-msgstr "Miércoles"
+msgstr "Sreda"
 
 msgctxt "selection:calendar.event.rrule,freq:"
 msgid "Daily"
-msgstr "Diario"
+msgstr "Dnevno"
 
 msgctxt "selection:calendar.event.rrule,freq:"
 msgid "Hourly"
-msgstr "Cada Hora"
+msgstr "Na uro"
 
 msgctxt "selection:calendar.event.rrule,freq:"
 msgid "Minutely"
-msgstr "Cada Minuto"
+msgstr "Na minuto"
 
 msgctxt "selection:calendar.event.rrule,freq:"
 msgid "Monthly"
-msgstr "Mensualmente"
+msgstr "Mesečno"
 
 msgctxt "selection:calendar.event.rrule,freq:"
 msgid "Secondly"
-msgstr "En segundo lugar"
+msgstr "Na sekundo"
 
 msgctxt "selection:calendar.event.rrule,freq:"
 msgid "Weekly"
-msgstr "Semanalmente"
+msgstr "Tedensko"
 
 msgctxt "selection:calendar.event.rrule,freq:"
 msgid "Yearly"
-msgstr "Anualmente"
+msgstr "Letno"
 
 msgctxt "selection:calendar.event.rrule,wkst:"
 msgid "Friday"
-msgstr "Viernes"
+msgstr "Petek"
 
 msgctxt "selection:calendar.event.rrule,wkst:"
 msgid "Monday"
-msgstr "Lunes"
+msgstr "Ponedeljek"
 
 msgctxt "selection:calendar.event.rrule,wkst:"
 msgid "Saturday"
-msgstr "Sábado"
+msgstr "Sobota"
 
 msgctxt "selection:calendar.event.rrule,wkst:"
 msgid "Sunday"
-msgstr "Domingo"
+msgstr "Nedelja"
 
 msgctxt "selection:calendar.event.rrule,wkst:"
 msgid "Thursday"
-msgstr "Jueves"
+msgstr "Četrtek"
 
 msgctxt "selection:calendar.event.rrule,wkst:"
 msgid "Tuesday"
-msgstr "Martes"
+msgstr "Torek"
 
 msgctxt "selection:calendar.event.rrule,wkst:"
 msgid "Wednesday"
-msgstr "Miércoles"
+msgstr "Sreda"
 
-#, fuzzy
 msgctxt "view:calendar.calendar:"
 msgid "Access Permissions"
-msgstr "Permisos de Acceso"
+msgstr "Dostop"
 
 msgctxt "view:calendar.calendar:"
 msgid "Calendar"
-msgstr "Calendario"
+msgstr "Koledar"
 
 msgctxt "view:calendar.calendar:"
 msgid "Calendars"
-msgstr "Calendarios"
+msgstr "Koledarji"
 
 msgctxt "view:calendar.calendar:"
 msgid "General"
-msgstr "General"
+msgstr "Splošno"
 
 msgctxt "view:calendar.category:"
 msgid "Categories"
-msgstr "Categorías"
+msgstr "Kategorije"
 
 msgctxt "view:calendar.category:"
 msgid "Category"
-msgstr "Categoría"
+msgstr "Kategorija"
 
 msgctxt "view:calendar.event.attendee:"
 msgid "Attendee"
-msgstr "Asistente"
+msgstr "Navzoči"
 
 msgctxt "view:calendar.event.attendee:"
 msgid "Attendees"
-msgstr "Asistentes"
+msgstr "Navzoči"
 
 msgctxt "view:calendar.event.exdate:"
 msgid "Exception Date"
-msgstr "Fecha de Excepción"
+msgstr "Izjemni datum"
 
 msgctxt "view:calendar.event.exdate:"
 msgid "Exception Dates"
-msgstr "Fechas de Excepción"
+msgstr "Izjemni datumi"
 
 msgctxt "view:calendar.event.exrule:"
 msgid "Exception Rule"
-msgstr "Regla de Excepción"
+msgstr "Izjemno pravilo"
 
 msgctxt "view:calendar.event.exrule:"
 msgid "Exception Rules"
-msgstr "Reglas de Excepción"
+msgstr "Izjemna pravila"
 
 msgctxt "view:calendar.event.rdate:"
 msgid "Recurrence Date"
-msgstr "Fecha de Repetición"
+msgstr "Datum ponovitve"
 
 msgctxt "view:calendar.event.rdate:"
 msgid "Recurrence Dates"
-msgstr "Fechas de Repetición"
+msgstr "Datumi ponovitev"
 
 msgctxt "view:calendar.event.rrule:"
 msgid "Recurrence Rule"
-msgstr "Regla de Repetición"
+msgstr "Pravilo ponovitve"
 
 msgctxt "view:calendar.event.rrule:"
 msgid "Recurrence Rules"
-msgstr "Reglas de Repetición"
+msgstr "Pravila ponovitev"
 
 msgctxt "view:calendar.event:"
 msgid "Attendees"
-msgstr "Asistentes"
+msgstr "Navzoči"
 
 msgctxt "view:calendar.event:"
 msgid "Categories"
-msgstr "Categorías"
+msgstr "Kategorije"
 
 msgctxt "view:calendar.event:"
 msgid "Event"
-msgstr "Evento"
+msgstr "Dogodek"
 
 msgctxt "view:calendar.event:"
 msgid "Events"
-msgstr "Eventos"
+msgstr "Dogodki"
 
 msgctxt "view:calendar.event:"
 msgid "General"
-msgstr "General"
+msgstr "Splošno"
 
 msgctxt "view:calendar.event:"
 msgid "Occurences"
-msgstr "Ocurrencias"
+msgstr "Pojavljanje"
 
 msgctxt "view:calendar.location:"
 msgid "Location"
-msgstr "Lugar"
+msgstr "Lokacija"
 
 msgctxt "view:calendar.location:"
 msgid "Locations"
-msgstr "Lugares"
+msgstr "Lokacije"
diff --git a/setup.py b/setup.py
index 91a746f..4267a73 100644
--- a/setup.py
+++ b/setup.py
@@ -21,7 +21,8 @@ major_version, minor_version, _ = info.get('version', '0.0.1').split('.', 2)
 major_version = int(major_version)
 minor_version = int(minor_version)
 
-requires = ['vobject >= 0.8.0', 'PyWebDAV >= 0.9.8', 'python-dateutil', 'pytz']
+requires = ['vobject >= 0.8.0', 'PyWebDAV >= 0.9.8', 'python-dateutil', 'pytz',
+    'python-sql']
 for dep in info.get('depends', []):
     if not re.match(r'(ir|res|webdav)(\W|$)', dep):
         requires.append('trytond_%s >= %s.%s, < %s.%s' %
@@ -64,6 +65,7 @@ setup(name='trytond_calendar',
         'Natural Language :: French',
         'Natural Language :: German',
         'Natural Language :: Russian',
+        'Natural Language :: Slovenian',
         'Natural Language :: Spanish',
         'Operating System :: OS Independent',
         'Programming Language :: Python :: 2.6',
diff --git a/tests/__init__.py b/tests/__init__.py
index 40ec561..84d6a76 100644
--- a/tests/__init__.py
+++ b/tests/__init__.py
@@ -2,3 +2,5 @@
 #this repository contains the full copyright notices and license terms.
 
 from .test_calendar import suite
+
+__all__ = ['suite']
diff --git a/tryton.cfg b/tryton.cfg
index c27871a..6b62a9f 100644
--- a/tryton.cfg
+++ b/tryton.cfg
@@ -1,5 +1,5 @@
 [tryton]
-version=2.8.0
+version=3.0.0
 depends:
     ir
     res
diff --git a/trytond_calendar.egg-info/PKG-INFO b/trytond_calendar.egg-info/PKG-INFO
index 741485f..4345681 100644
--- a/trytond_calendar.egg-info/PKG-INFO
+++ b/trytond_calendar.egg-info/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: trytond-calendar
-Version: 2.8.0
+Version: 3.0.0
 Summary: Tryton module for CalDAV
 Home-page: http://www.tryton.org/
 Author: Tryton
 Author-email: UNKNOWN
 License: GPL-3
-Download-URL: http://downloads.tryton.org/2.8/
+Download-URL: http://downloads.tryton.org/3.0/
 Description: trytond_calendar
         ================
         
@@ -61,6 +61,7 @@ Classifier: Natural Language :: English
 Classifier: Natural Language :: French
 Classifier: Natural Language :: German
 Classifier: Natural Language :: Russian
+Classifier: Natural Language :: Slovenian
 Classifier: Natural Language :: Spanish
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python :: 2.6
diff --git a/trytond_calendar.egg-info/SOURCES.txt b/trytond_calendar.egg-info/SOURCES.txt
index a44e6d3..6fc119c 100644
--- a/trytond_calendar.egg-info/SOURCES.txt
+++ b/trytond_calendar.egg-info/SOURCES.txt
@@ -25,6 +25,7 @@ locale/es_ES.po
 locale/fr_FR.po
 locale/nl_NL.po
 locale/ru_RU.po
+locale/sl_SI.po
 trytond_calendar.egg-info/PKG-INFO
 trytond_calendar.egg-info/SOURCES.txt
 trytond_calendar.egg-info/dependency_links.txt
diff --git a/trytond_calendar.egg-info/requires.txt b/trytond_calendar.egg-info/requires.txt
index 823ce06..67ab9f8 100644
--- a/trytond_calendar.egg-info/requires.txt
+++ b/trytond_calendar.egg-info/requires.txt
@@ -2,7 +2,8 @@ vobject >= 0.8.0
 PyWebDAV >= 0.9.8
 python-dateutil
 pytz
-trytond >= 2.8, < 2.9
+python-sql
+trytond >= 3.0, < 3.1
 
 [test]
 caldav
\ No newline at end of file
diff --git a/webdav.py b/webdav.py
index ea6f3e7..cc99d87 100644
--- a/webdav.py
+++ b/webdav.py
@@ -2,6 +2,10 @@
 #this repository contains the full copyright notices and license terms.
 import vobject
 import urllib
+from sql.functions import Extract
+from sql.conditionals import Coalesce
+from sql.aggregate import Max
+
 from pywebdav.lib.errors import DAV_NotFound, DAV_Forbidden
 from trytond.tools import reduce_ids
 from trytond.cache import Cache
@@ -262,6 +266,8 @@ class Collection:
     def get_creationdate(cls, uri, cache=None):
         Calendar = Pool().get('calendar.calendar')
         Event = Pool().get('calendar.event')
+        calendar = Calendar.__table__()
+        event = Event.__table__()
 
         calendar_id = cls.calendar(uri)
         if not calendar_id:
@@ -284,11 +290,10 @@ class Collection:
                 cursor = Transaction().cursor
                 for i in range(0, len(ids), cursor.IN_MAX):
                     sub_ids = ids[i:i + cursor.IN_MAX]
-                    red_sql, red_ids = reduce_ids('id', sub_ids)
-                    cursor.execute('SELECT id, '
-                            'EXTRACT(epoch FROM create_date) '
-                        'FROM "' + Calendar._table + '" '
-                        'WHERE ' + red_sql, red_ids)
+                    red_sql = reduce_ids(calendar.id, sub_ids)
+                    cursor.execute(*calendar.select(calendar.id,
+                            Extract('EPOCH', calendar.create_date),
+                            where=red_sql))
                     for calendar_id2, date in cursor.fetchall():
                         if calendar_id2 == calendar_id:
                             res = date
@@ -318,11 +323,10 @@ class Collection:
                     cursor = Transaction().cursor
                     for i in range(0, len(ids), cursor.IN_MAX):
                         sub_ids = ids[i:i + cursor.IN_MAX]
-                        red_sql, red_ids = reduce_ids('id', sub_ids)
-                        cursor.execute('SELECT id, '
-                                'EXTRACT(epoch FROM create_date) '
-                            'FROM "' + Event._table + '" '
-                            'WHERE ' + red_sql, red_ids)
+                        red_sql = reduce_ids(event.id, sub_ids)
+                        cursor.execute(*event.select(event.id,
+                                Extract('EPOCH', event.create_date),
+                                where=red_sql))
                         for event_id2, date in cursor.fetchall():
                             if event_id2 == event_id:
                                 res = date
@@ -340,6 +344,8 @@ class Collection:
         pool = Pool()
         Calendar = pool.get('calendar.calendar')
         Event = pool.get('calendar.event')
+        calendar = Calendar.__table__()
+        event = Event.__table__()
 
         cursor = Transaction().cursor
         calendar_id = cls.calendar(uri)
@@ -360,12 +366,11 @@ class Collection:
                 res = None
                 for i in range(0, len(ids), cursor.IN_MAX):
                     sub_ids = ids[i:i + cursor.IN_MAX]
-                    red_sql, red_ids = reduce_ids('id', sub_ids)
-                    cursor.execute('SELECT id, '
-                            'EXTRACT(epoch FROM '
-                                'COALESCE(write_date, create_date)) '
-                        'FROM "' + Calendar._table + '" '
-                        'WHERE ' + red_sql, red_ids)
+                    red_sql = reduce_ids(calendar.id, sub_ids)
+                    cursor.execute(*calendar.select(calendar.id,
+                            Extract('EPOCH', Coalesce(calendar.write_date,
+                                    calendar.create_date)),
+                            where=red_sql))
                     for calendar_id2, date in cursor.fetchall():
                         if calendar_id2 == calendar_id:
                             res = date
@@ -394,17 +399,14 @@ class Collection:
                     res = None
                     for i in range(0, len(ids), cursor.IN_MAX / 2):
                         sub_ids = ids[i:i + cursor.IN_MAX / 2]
-                        red_id_sql, red_id_ids = reduce_ids('id', sub_ids)
-                        red_parent_sql, red_parent_ids = reduce_ids('parent',
-                                sub_ids)
-                        cursor.execute('SELECT COALESCE(parent, id), '
-                                'MAX(EXTRACT(epoch FROM '
-                                'COALESCE(write_date, create_date))) '
-                            'FROM "' + Event._table + '" '
-                            'WHERE ' + red_id_sql + ' '
-                                'OR ' + red_parent_sql + ' '
-                            'GROUP BY parent, id',
-                            red_id_ids + red_parent_ids)
+                        red_id_sql = reduce_ids(event.id, sub_ids)
+                        red_parent_sql = reduce_ids(event.parent, sub_ids)
+                        cursor.execute(*event.select(
+                                Coalesce(event.parent, event.id),
+                                Max(Extract('EPOCH', Coalesce(event.write_date,
+                                            event.create_date))),
+                                where=red_id_sql | red_parent_sql,
+                                group_by=(event.parent, event.id)))
                         for event_id2, date in cursor.fetchall():
                             if event_id2 == event_id:
                                 res = date
@@ -432,12 +434,12 @@ class Collection:
             res = None
             for i in range(0, len(ids), cursor.IN_MAX):
                 sub_ids = ids[i:i + cursor.IN_MAX]
-                red_sql, red_ids = reduce_ids('calendar', sub_ids)
-                cursor.execute('SELECT calendar, MAX(EXTRACT(epoch FROM '
-                        'COALESCE(write_date, create_date))) '
-                    'FROM "' + Event._table + '" '
-                    'WHERE ' + red_sql + ' '
-                    'GROUP BY calendar', red_ids)
+                red_sql = reduce_ids(event.calendar, sub_ids)
+                cursor.execute(*event.select(event.calendar,
+                        Max(Extract('EPOCH', Coalesce(event.write_date,
+                                    event.create_date))),
+                        where=red_sql,
+                        group_by=event.calendar))
                 for calendar_id2, date in cursor.fetchall():
                     if calendar_id2 == calendar_ics_id:
                         res = date
-- 
tryton-modules-calendar



More information about the tryton-debian-vcs mailing list