diff --git a/greenmine/front/__init__.py b/greenmine/front/__init__.py new file mode 100644 index 00000000..2da15e9b --- /dev/null +++ b/greenmine/front/__init__.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- + +from django.conf import settings +import django_sites as sites + +from django_jinja import library + +URLS = { + "userstory": "/#/project/{0}/user-story/{1}", + "task": "/#/project/{0}/tasks/{1}", + "issue": "/#/project/{0}/issues/{1}", +} + + +lib = library.Library() + +def get_current_site(): + current_site_id = getattr(settings, "SITE_ID") + front_sites = getattr(settings, "SITES_FRONT") + return sites.Site(front_sites[current_site_id]) + + +@lib.global_function(name="resolve_front_url") +def resolve(type, projectId, itemId): + site = get_current_site() + url_tmpl = "{scheme}//{domain}{url}" + + scheme = site.scheme and "{0}:".format(site.scheme) or "" + url = URLS[type].format(projectId, itemId) + return url_tmpl.format(scheme=scheme, domain=site.domain, url=url) diff --git a/greenmine/front/models.py b/greenmine/front/models.py new file mode 100644 index 00000000..e69de29b diff --git a/greenmine/settings/common.py b/greenmine/settings/common.py index c2f4e1c0..68eecf07 100644 --- a/greenmine/settings/common.py +++ b/greenmine/settings/common.py @@ -64,6 +64,11 @@ SITES = { 1: {"domain": "localhost:8000", "scheme": "http"}, } +SITES_FRONT = { + 1: {"domain": "localhost:9001", "scheme": "http"}, +} + + SITE_ID = 1 #SESSION BACKEND @@ -198,6 +203,7 @@ INSTALLED_APPS = [ 'greenmine.projects.userstories', 'greenmine.projects.tasks', 'greenmine.projects.issues', + 'greenmine.front', #'greenmine.projects.questions', #'greenmine.projects.documents', 'greenmine.projects.wiki',