Revision a2110608
b/snf-astakos-app/astakos/im/functions.py | ||
---|---|---|
35 | 35 |
import socket |
36 | 36 |
|
37 | 37 |
from django.utils.translation import ugettext as _ |
38 |
from django.template.loader import render_to_string
|
|
38 |
from synnefo_branding.utils import render_to_string
|
|
39 | 39 |
from django.core.mail import send_mail, get_connection |
40 | 40 |
from django.core.urlresolvers import reverse |
41 | 41 |
from django.template import Context, loader |
b/snf-astakos-app/astakos/im/settings.py | ||
---|---|---|
1 | 1 |
from django.conf import settings |
2 |
from synnefo_branding import settings as synnefo_settings |
|
2 | 3 |
|
3 | 4 |
# Set the expiration time of newly created auth tokens |
4 | 5 |
# to be this many hours after their creation time. |
... | ... | |
44 | 45 |
BASEURL = getattr(settings, 'ASTAKOS_BASEURL', 'https://accounts.example.synnefo.org') |
45 | 46 |
|
46 | 47 |
# Set service name |
47 |
SITENAME = getattr(settings, 'ASTAKOS_SITENAME', 'Synnefo Cloud')
|
|
48 |
SITENAME = getattr(settings, 'ASTAKOS_SITENAME', synnefo_settings.SERVICE_NAME)
|
|
48 | 49 |
|
49 | 50 |
# Set recaptcha keys |
50 | 51 |
RECAPTCHA_PUBLIC_KEY = getattr(settings, 'ASTAKOS_RECAPTCHA_PUBLIC_KEY', '') |
... | ... | |
58 | 59 |
BILLING_FIELDS = getattr(settings, 'ASTAKOS_BILLING_FIELDS', ['is_active']) |
59 | 60 |
|
60 | 61 |
# Queue for billing. |
61 |
QUEUE_CONNECTION = getattr(settings, 'ASTAKOS_QUEUE_CONNECTION', None) # Example: 'rabbitmq://guest:guest@localhost:5672/astakos'
|
|
62 |
|
|
62 |
# Example: 'rabbitmq://guest:guest@localhost:5672/astakos' |
|
63 |
QUEUE_CONNECTION = getattr(settings, 'ASTAKOS_QUEUE_CONNECTION', None) |
|
63 | 64 |
# Set where the user should be redirected after logout |
64 | 65 |
LOGOUT_NEXT = getattr(settings, 'ASTAKOS_LOGOUT_NEXT', '') |
65 | 66 |
|
... | ... | |
105 | 106 |
# Configurable email subjects |
106 | 107 |
INVITATION_EMAIL_SUBJECT = getattr( |
107 | 108 |
settings, 'ASTAKOS_INVITATION_EMAIL_SUBJECT', |
108 |
'Invitation to %s alpha2 testing' % SITENAME)
|
|
109 |
'Invitation to %s' % SITENAME) |
|
109 | 110 |
GREETING_EMAIL_SUBJECT = getattr(settings, 'ASTAKOS_GREETING_EMAIL_SUBJECT', |
110 |
'Welcome to %s alpha2 testing' % SITENAME)
|
|
111 |
'Welcome to %s' % SITENAME) |
|
111 | 112 |
FEEDBACK_EMAIL_SUBJECT = getattr(settings, 'ASTAKOS_FEEDBACK_EMAIL_SUBJECT', |
112 |
'Feedback from %s alpha2 testing' % SITENAME)
|
|
113 |
'Feedback from %s' % SITENAME) |
|
113 | 114 |
VERIFICATION_EMAIL_SUBJECT = getattr( |
114 | 115 |
settings, 'ASTAKOS_VERIFICATION_EMAIL_SUBJECT', |
115 |
'%s alpha2 testing account activation is needed' % SITENAME)
|
|
116 |
'%s account activation is needed' % SITENAME) |
|
116 | 117 |
ACCOUNT_CREATION_SUBJECT = getattr( |
117 | 118 |
settings, 'ASTAKOS_ACCOUNT_CREATION_SUBJECT', |
118 |
'%s alpha2 testing account created (%%(user)s)' % SITENAME)
|
|
119 |
'%s account created (%%(user)s)' % SITENAME) |
|
119 | 120 |
GROUP_CREATION_SUBJECT = getattr( |
120 | 121 |
settings, 'ASTAKOS_GROUP_CREATION_SUBJECT', |
121 |
'%s alpha2 testing group created (%%(group)s)' % SITENAME)
|
|
122 |
'%s group created (%%(group)s)' % SITENAME) |
|
122 | 123 |
HELPDESK_NOTIFICATION_EMAIL_SUBJECT = getattr( |
123 | 124 |
settings, 'ASTAKOS_HELPDESK_NOTIFICATION_EMAIL_SUBJECT', |
124 |
'%s alpha2 testing account activated (%%(user)s)' % SITENAME)
|
|
125 |
'%s account activated (%%(user)s)' % SITENAME) |
|
125 | 126 |
EMAIL_CHANGE_EMAIL_SUBJECT = getattr( |
126 | 127 |
settings, 'ASTAKOS_EMAIL_CHANGE_EMAIL_SUBJECT', |
127 |
'Email change on %s alpha2 testing' % SITENAME)
|
|
128 |
'Email change on %s ' % SITENAME) |
|
128 | 129 |
PASSWORD_RESET_EMAIL_SUBJECT = getattr( |
129 | 130 |
settings, 'ASTAKOS_PASSWORD_RESET_EMAIL_SUBJECT', |
130 |
'Password reset on %s alpha2 testing' % SITENAME)
|
|
131 |
'Password reset on %s ' % SITENAME) |
|
131 | 132 |
PROJECT_CREATION_SUBJECT = getattr( |
132 | 133 |
settings, 'ASTAKOS_PROJECT_CREATION_SUBJECT', |
133 |
'%s alpha2 testing project application created (%%(name)s)' % SITENAME)
|
|
134 |
'%s project application created (%%(name)s)' % SITENAME) |
|
134 | 135 |
PROJECT_APPROVED_SUBJECT = getattr( |
135 | 136 |
settings, 'ASTAKOS_PROJECT_APPROVED_SUBJECT', |
136 |
'%s alpha2 testing project application approved (%%(name)s)' % SITENAME)
|
|
137 |
'%s project application approved (%%(name)s)' % SITENAME) |
|
137 | 138 |
PROJECT_DENIED_SUBJECT = getattr( |
138 | 139 |
settings, 'ASTAKOS_PROJECT_DENIED_SUBJECT', |
139 |
'%s alpha2 testing project application denied (%%(name)s)' % SITENAME)
|
|
140 |
'%s project application denied (%%(name)s)' % SITENAME) |
|
140 | 141 |
PROJECT_TERMINATION_SUBJECT = getattr( |
141 | 142 |
settings, 'ASTAKOS_PROJECT_TERMINATION_SUBJECT', |
142 |
'%s alpha2 testing project terminated (%%(name)s)' % SITENAME)
|
|
143 |
'%s project terminated (%%(name)s)' % SITENAME) |
|
143 | 144 |
PROJECT_SUSPENSION_SUBJECT = getattr( |
144 | 145 |
settings, 'ASTAKOS_PROJECT_SUSPENSION_SUBJECT', |
145 |
'%s alpha2 testing project suspended (%%(name)s)' % SITENAME)
|
|
146 |
'%s testing project suspended (%%(name)s)' % SITENAME) |
|
146 | 147 |
PROJECT_MEMBERSHIP_CHANGE_SUBJECT = getattr( |
147 | 148 |
settings, 'ASTAKOS_PROJECT_MEMBERSHIP_CHANGE_SUBJECT', |
148 |
'%s alpha2 testing project membership changed (%%(name)s)' % SITENAME)
|
|
149 |
'%s testing project membership changed (%%(name)s)' % SITENAME) |
|
149 | 150 |
PROJECT_MEMBERSHIP_ENROLL_SUBJECT = getattr( |
150 | 151 |
settings, 'ASTAKOS_PROJECT_MEMBERSHIP_ENROLL_SUBJECT', |
151 |
'%s alpha2 testing project enrollment (%%(name)s)' % SITENAME)
|
|
152 |
'%s testing project enrollment (%%(name)s)' % SITENAME) |
|
152 | 153 |
PROJECT_MEMBERSHIP_REQUEST_SUBJECT = getattr( |
153 | 154 |
settings, 'ASTAKOS_PROJECT_MEMBERSHIP_REQUEST_SUBJECT', |
154 |
'%s alpha2 testing project membership request (%%(name)s)' % SITENAME)
|
|
155 |
'%s testing project membership request (%%(name)s)' % SITENAME) |
|
155 | 156 |
PROJECT_MEMBERSHIP_LEAVE_REQUEST_SUBJECT = getattr( |
156 | 157 |
settings, 'ASTAKOS_PROJECT_MEMBERSHIP_LEAVE_REQUEST_SUBJECT', |
157 |
'%s alpha2 testing project membership leave request (%%(name)s)' % SITENAME)
|
|
158 |
'%s testing project membership leave request (%%(name)s)' % SITENAME) |
|
158 | 159 |
|
159 | 160 |
# Set the quota holder component URI |
160 | 161 |
QUOTAHOLDER_URL = getattr(settings, 'ASTAKOS_QUOTAHOLDER_URL', '') |
b/snf-astakos-app/astakos/im/templates/im/footer.html | ||
---|---|---|
1 | 1 |
{% block footer_content %} |
2 | 2 |
|
3 | 3 |
<p class="termslink" style="float:right"><a href="{% url latest_terms %}">Terms of service</a></p> |
4 |
<p>Copyright {{ BRANDING_COPYRIGHT_PERIOD }} <a href="{{ BRANDING_COMPANY_URL }}" target="_blank" title="{{ BRANDING_COMPANY_NAME }}">{{ BRANDING_COMPANY_NAME_FORMAL }}</a> All rights reserved.</p> |
|
4 |
{% if BRANDING_SHOW_COPYRIGHT%} |
|
5 |
<p><a href="{{ BRANDING_COMPANY_URL }}" target="_blank" title="{{ BRANDING_COMPANY_NAME }}">{{ BRANDING_COPYRIGHT_MESSAGE }}</a> All rights reserved.</p> |
|
6 |
{% endif %} |
|
7 |
|
|
8 |
<div class="software">Powered by <a href="http://www.synnefo.org/">synnefo</a> <span class="version">v{{ BRANDING_SYNNEFO_JS_LIB_VERSION }}</span></div> |
|
5 | 9 |
|
6 | 10 |
{% endblock %} |
7 | 11 |
|
b/snf-branding/synnefo_branding/settings.py | ||
---|---|---|
1 | 1 |
from django.conf import settings |
2 |
from synnefo.util.version import get_component_version |
|
2 | 3 |
import datetime |
3 | 4 |
|
4 | 5 |
IMAGE_MEDIA_URL = settings.MEDIA_URL+'branding/images/' |
... | ... | |
16 | 17 |
COPYRIGHT_MESSAGE = getattr(settings, 'BRANDING_COPYRIGHT_MESSAGE', |
17 | 18 |
copyright_message) |
18 | 19 |
|
20 |
# if True, copyright message is visible to footer |
|
21 |
SHOW_COPYRIGHT = True |
|
22 |
|
|
23 |
# if True, about, support and feeback links are displayed to Compute footer |
|
24 |
EXTRA_FOOTER_LINKS = False |
|
25 |
|
|
26 |
|
|
19 | 27 |
COMPANY_URL = getattr(settings, 'BRANDING_COMPANY_URL', |
20 | 28 |
'http://www.coolcompany.com') |
21 | 29 |
SERVICE_NAME = getattr(settings, 'BRANDING_SERVICE_NAME', 'Synnefo') |
... | ... | |
42 | 50 |
'https://accounts.okeanos.grnet.gr/im/feedback ') |
43 | 51 |
SERVICE_SUPPORT_URL = getattr(settings, 'BRANDING_SERVICE_SUPPORT_URL', |
44 | 52 |
'https://okeanos.grnet.gr/support/general/ ') |
53 |
|
|
54 |
SYNNEFO_JS_LIB_VERSION = get_component_version('app') |
b/snf-branding/synnefo_branding/utils.py | ||
---|---|---|
1 | 1 |
from synnefo_branding import settings |
2 |
from django.template.loader import render_to_string as django_render_to_string |
|
2 | 3 |
|
3 |
def get_branding_dict(): |
|
4 |
def get_branding_dict(prepend=None):
|
|
4 | 5 |
dct = {} |
5 | 6 |
for key in dir(settings): |
6 | 7 |
if key == key.upper(): |
7 |
dct[key.lower()] = getattr(settings, key) |
|
8 |
newkey = key.lower() |
|
9 |
if prepend: |
|
10 |
newkey = '%s_%s' % (prepend, newkey) |
|
11 |
dct[newkey.upper()] = getattr(settings, key) |
|
8 | 12 |
return dct |
9 | 13 |
|
10 | 14 |
def brand_message(msg, **extra_args): |
11 | 15 |
params = get_branding_dict() |
12 | 16 |
params.update(extra_args) |
13 | 17 |
return msg % params |
18 |
|
|
19 |
def render_to_string(template_name, dictionary=None, context_instance=None): |
|
20 |
if not dictionary: |
|
21 |
dictionary = {} |
|
22 |
newdict = get_branding_dict("BRANDING") |
|
23 |
newdict.update(dictionary) |
|
24 |
return django_render_to_string(template_name, newdict, context_instance) |
b/snf-cyclades-app/synnefo/ui/templates/footer.html | ||
---|---|---|
2 | 2 |
<div id="footer-container"> |
3 | 3 |
<div id='footer'> |
4 | 4 |
<div id='footer-text'> |
5 |
{% if BRANDING_EXTRA_FOOTER_LINKS %} |
|
5 | 6 |
<a href="{{ BRANDING_SERVICE_ABOUT_URL }}">{% trans "About" %}</a> |
6 | 7 |
| |
7 | 8 |
<a href="{{ BRANDING_SERVICE_CONTACT_URL }}">{% trans "Contact" %}</a> |
8 | 9 |
| |
9 | 10 |
<a href="{{ BRANDING_SERVICE_SUPPORT_URL }}">{% trans "Support" %}</a> |
11 |
{% endif %} |
|
10 | 12 |
{% comment %} |
11 | 13 |
| |
12 | 14 |
<a href="#">{% trans "Terms" %}</a> |
... | ... | |
14 | 16 |
<a href="#">{% trans "Privacy" %}</a> |
15 | 17 |
{% endcomment %} |
16 | 18 |
<br/> |
19 |
{% if BRANDING_SHOW_COPYRIGHT %} |
|
17 | 20 |
<div class='grnet-sign'><a href="{{ BRANDING_COMPANY_URL }}" target="_blank" title="{{ BRANDING_COMPANY_NAME }}">{{ BRANDING_COPYRIGHT_MESSAGE }}</a></div> |
21 |
{% endif %} |
|
18 | 22 |
</div> |
19 | 23 |
<div id="footer-bg"> |
20 | 24 |
</div> |
21 |
<div class="software">powered by <a href="http://www.synnefo.org/">synnefo</a> <span class="version">v{{ synnefo_version }}</span></div>
|
|
25 |
<div class="software">Powered by <a href="http://www.synnefo.org/">synnefo</a> <span class="version">v{{ synnefo_version }}</span></div>
|
|
22 | 26 |
</div> |
23 | 27 |
</div> |
Also available in: Unified diff