0001-add-piwik-service-10157.patch
hobo/environment/forms.py | ||
---|---|---|
2 | 2 |
from django.conf import settings |
3 | 3 |
from django.template.defaultfilters import slugify |
4 | 4 |
from django.utils.translation import ugettext_lazy as _ |
5 |
from django.core.validators import validate_email |
|
5 | 6 | |
6 | 7 |
from .models import (Authentic, Wcs, Passerelle, Variable, Combo, Fargo, Welco, |
7 |
MandayeJS, Chrono) |
|
8 |
MandayeJS, Chrono, Piwik)
|
|
8 | 9 | |
9 | 10 |
EXCLUDED_FIELDS = ('last_operational_check_timestamp', |
10 | 11 |
'last_operational_success_timestamp', 'secret_key') |
... | ... | |
115 | 116 |
model = Chrono |
116 | 117 |
exclude = EXCLUDED_FIELDS |
117 | 118 | |
119 |
class PiwikForm(BaseForm): |
|
120 |
class Meta: |
|
121 |
model = Piwik |
|
122 |
exclude = EXCLUDED_FIELDS |
|
123 | ||
124 |
def clean(self): |
|
125 |
cleaned_data = super(PiwikForm, self).clean() |
|
126 |
emails = cleaned_data.get('admin_emails',None) |
|
127 |
if emails: |
|
128 |
for email in emails.split(','): |
|
129 |
validate_email(email.strip()) |
|
130 |
return cleaned_data |
|
131 | ||
118 | 132 | |
119 | 133 |
class VariableForm(forms.ModelForm): |
120 | 134 |
class Meta: |
hobo/environment/migrations/0014_piwik.py | ||
---|---|---|
1 |
# -*- coding: utf-8 -*- |
|
2 |
from __future__ import unicode_literals |
|
3 | ||
4 |
from django.db import models, migrations |
|
5 | ||
6 | ||
7 |
class Migration(migrations.Migration): |
|
8 | ||
9 |
dependencies = [ |
|
10 |
('environment', '0013_auto_20160226_1633'), |
|
11 |
] |
|
12 | ||
13 |
operations = [ |
|
14 |
migrations.CreateModel( |
|
15 |
name='Piwik', |
|
16 |
fields=[ |
|
17 |
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), |
|
18 |
('title', models.CharField(max_length=50, verbose_name='Title')), |
|
19 |
('slug', models.SlugField(verbose_name='Slug')), |
|
20 |
('base_url', models.CharField(max_length=200, verbose_name='Base URL')), |
|
21 |
('secret_key', models.CharField(max_length=60, verbose_name='Secret Key')), |
|
22 |
('template_name', models.CharField(max_length=60, verbose_name='Template', blank=True)), |
|
23 |
('last_operational_check_timestamp', models.DateTimeField(null=True)), |
|
24 |
('last_operational_success_timestamp', models.DateTimeField(null=True)), |
|
25 |
('last_update_timestamp', models.DateTimeField(auto_now=True, null=True)), |
|
26 |
('admin_emails', models.TextField(verbose_name='Admins Emails')), |
|
27 |
], |
|
28 |
options={ |
|
29 |
'ordering': ['title'], |
|
30 |
'verbose_name': 'Piwik', |
|
31 |
'verbose_name_plural': 'Piwik', |
|
32 |
}, |
|
33 |
bases=(models.Model,), |
|
34 |
), |
|
35 |
] |
hobo/environment/models.py | ||
---|---|---|
326 | 326 |
return self.get_base_url_path() + 'manage/menu.json' |
327 | 327 | |
328 | 328 | |
329 |
class Piwik(ServiceBase): |
|
330 |
admin_emails = models.TextField(_('Admins Emails')) |
|
331 |
class Meta: |
|
332 |
verbose_name = _('Piwik') |
|
333 |
verbose_name_plural = _('Piwik') |
|
334 |
ordering = ['title'] |
|
335 | ||
336 |
class Extra: |
|
337 |
service_id = 'piwik' |
|
338 |
service_label = _('piwik') |
|
339 | ||
329 | 340 |
AVAILABLE_SERVICES = [Authentic, Wcs, Passerelle, Combo, Fargo, Welco, |
330 |
MandayeJS, Chrono] |
|
341 |
MandayeJS, Chrono, Piwik] |
|
331 |
- |