Browse Source

Calendar URLs in constants

Bastien Sevajol (Algoo) 8 years ago
parent
commit
b5d5356d64
3 changed files with 10 additions and 5 deletions
  1. 5 0
      tracim/tracim/lib/calendar.py
  2. 3 4
      tracim/tracim/model/auth.py
  3. 2 1
      tracim/tracim/model/data.py

+ 5 - 0
tracim/tracim/lib/calendar.py View File

@@ -24,6 +24,11 @@ CALENDAR_WORKSPACE_PATH_RE = 'workspace\/([0-9]+).ics'
24 24
 CALENDAR_TYPE_USER = UserCalendar
25 25
 CALENDAR_TYPE_WORKSPACE = WorkspaceCalendar
26 26
 
27
+CALENDAR_USER_URL_TEMPLATE = \
28
+    '{proto}://{domain}:{port}/user/{id}.ics#{slug}'
29
+CALENDAR_WORKSPACE_URL_TEMPLATE = \
30
+    '{proto}://{domain}:{port}/workspace/{id}.ics#{slug}'
31
+
27 32
 
28 33
 class CalendarManager(object):
29 34
     def __init__(self, user: User):

+ 3 - 4
tracim/tracim/model/auth.py View File

@@ -28,8 +28,7 @@ from sqlalchemy.types import DateTime
28 28
 from sqlalchemy.types import Boolean
29 29
 from sqlalchemy.orm import relation, relationship, synonym
30 30
 from tg import request
31
-from tg import config
32
-
31
+from tracim.lib.calendar import CALENDAR_USER_URL_TEMPLATE
33 32
 from tracim.model import DeclarativeBase, metadata, DBSession
34 33
 
35 34
 # This is the association table for the many-to-many relationship between
@@ -155,12 +154,12 @@ class User(DeclarativeBase):
155 154
         # TODO - 20160531 - Bastien: Cyclic import if import in top of file
156 155
         from tracim.config.app_cfg import CFG
157 156
         cfg = CFG.get_instance()
158
-        return '{proto}://{domain}:{port}/user/{id}.ics#{slug_name}'.format(
157
+        return CALENDAR_USER_URL_TEMPLATE.format(
159 158
             proto='https' if cfg.RADICALE_CLIENT_SSL else 'http',
160 159
             domain=cfg.RADICALE_CLIENT_HOST or request.domain,
161 160
             port=cfg.RADICALE_CLIENT_PORT,
162 161
             id=self.user_id,
163
-            slug_name=slugify(self.get_display_name(
162
+            slug=slugify(self.get_display_name(
164 163
                 remove_email_part=True
165 164
             ), only_ascii=True)
166 165
         )

+ 2 - 1
tracim/tracim/model/data.py View File

@@ -26,6 +26,7 @@ from sqlalchemy.types import Text
26 26
 from sqlalchemy.types import Unicode
27 27
 from tg.i18n import lazy_ugettext as l_, ugettext as _
28 28
 
29
+from tracim.lib.calendar import CALENDAR_WORKSPACE_URL_TEMPLATE
29 30
 from tracim.lib.exception import ContentRevisionUpdateError
30 31
 from tracim.model import DeclarativeBase, RevisionsIntegrity
31 32
 from tracim.model.auth import User
@@ -72,7 +73,7 @@ class Workspace(DeclarativeBase):
72 73
         # TODO - 20160531 - Bastien: Cyclic import if import in top of file
73 74
         from tracim.config.app_cfg import CFG
74 75
         cfg = CFG.get_instance()
75
-        return '{proto}://{domain}:{port}/workspace/{id}.ics#{slug}'.format(
76
+        return CALENDAR_WORKSPACE_URL_TEMPLATE.format(
76 77
             proto='https' if cfg.RADICALE_CLIENT_SSL else 'http',
77 78
             domain=cfg.RADICALE_CLIENT_HOST or tg.request.domain,
78 79
             port=cfg.RADICALE_CLIENT_PORT,