Projet

Général

Profil

0001-add-piwik-service-10157.patch

Josué Kouka, 03 mars 2016 16:10

Télécharger (4,12 ko)

Voir les différences:

Subject: [PATCH] add piwik service (#10157)

 hobo/environment/forms.py                 | 16 +++++++++++++-
 hobo/environment/migrations/0014_piwik.py | 35 +++++++++++++++++++++++++++++++
 hobo/environment/models.py                | 13 +++++++++++-
 3 files changed, 62 insertions(+), 2 deletions(-)
 create mode 100644 hobo/environment/migrations/0014_piwik.py
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
-