mirror of
https://gitlab2.federez.net/re2o/re2o
synced 2024-11-05 01:16:27 +00:00
répartition des preferences et squash des migrations
This commit is contained in:
parent
3a5fad0287
commit
cb3fdff202
6 changed files with 83 additions and 6 deletions
|
@ -6,7 +6,6 @@ from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
from .models import(
|
from .models import(
|
||||||
Ticket,
|
Ticket,
|
||||||
Preferences,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
class EditTicketForm(FormRevMixin, ModelForm):
|
class EditTicketForm(FormRevMixin, ModelForm):
|
||||||
|
@ -22,12 +21,12 @@ class NewTicketForm(ModelForm):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Ticket
|
model = Ticket
|
||||||
fields = ['title', 'description', 'email']
|
fields = ['title', 'description', 'email']
|
||||||
|
"""
|
||||||
class EditPreferencesForm(ModelForm):
|
class EditPreferencesForm(ModelForm):
|
||||||
""" Edition des préférences des tickets """
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Preferences
|
model = Preferences
|
||||||
fields = '__all__'
|
fields = '__all__'
|
||||||
|
"""
|
||||||
|
|
||||||
class ChangeStatusTicketForm(ModelForm):
|
class ChangeStatusTicketForm(ModelForm):
|
||||||
""" Passe un Ticket en résolu """
|
""" Passe un Ticket en résolu """
|
||||||
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Generated by Django 1.10.7 on 2019-08-13 12:55
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.conf import settings
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
replaces = [('tickets', '0001_initial'), ('tickets', '0002_auto_20190710_0952'), ('tickets', '0003_ticket_email'), ('tickets', '0004_auto_20190712_1205'), ('tickets', '0005_auto_20190712_1209'), ('tickets', '0006_preferences'), ('tickets', '0007_preferences_publish_tickets'), ('tickets', '0008_remove_preferences_publish_tickets')]
|
||||||
|
|
||||||
|
initial = True
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='Ticket',
|
||||||
|
fields=[
|
||||||
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('title', models.CharField(help_text='Nom du ticket', max_length=255)),
|
||||||
|
('description', models.TextField(help_text='Description du ticket', max_length=3000)),
|
||||||
|
('date', models.DateTimeField(auto_now_add=True)),
|
||||||
|
('solved', models.BooleanField(default=False)),
|
||||||
|
('assigned_staff', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='tickets_assigned', to=settings.AUTH_USER_MODEL)),
|
||||||
|
('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='tickets', to=settings.AUTH_USER_MODEL)),
|
||||||
|
('email', models.EmailField(help_text='Une adresse mail pour vous recontacter', max_length=100, null=True)),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'verbose_name_plural': 'Tickets',
|
||||||
|
'verbose_name': 'Ticket',
|
||||||
|
},
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='Preferences',
|
||||||
|
fields=[
|
||||||
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('publish_address', models.EmailField(help_text='Adresse mail pour annoncer les nouveau tickets (laisser vide pour ne rien annoncer)', max_length=1000, null=True)),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'verbose_name': 'Préférences des tickets',
|
||||||
|
},
|
||||||
|
),
|
||||||
|
]
|
|
@ -81,9 +81,8 @@ class Ticket(AclMixin, models.Model):
|
||||||
def can_create(user_request,*_args, **_kwargs):
|
def can_create(user_request,*_args, **_kwargs):
|
||||||
"""Autorise tout les utilisateurs à créer des tickets"""
|
"""Autorise tout les utilisateurs à créer des tickets"""
|
||||||
return True,None
|
return True,None
|
||||||
|
"""
|
||||||
class Preferences(models.Model):
|
class Preferences(models.Model):
|
||||||
""" Class cannonique définissants les préférences des tickets """
|
|
||||||
|
|
||||||
publish_address = models.EmailField(
|
publish_address = models.EmailField(
|
||||||
help_text = _("Adresse mail pour annoncer les nouveau tickets (laisser vide pour ne rien annoncer)"),
|
help_text = _("Adresse mail pour annoncer les nouveau tickets (laisser vide pour ne rien annoncer)"),
|
||||||
|
@ -91,7 +90,7 @@ class Preferences(models.Model):
|
||||||
null = True)
|
null = True)
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name = _("Préférences des tickets")
|
verbose_name = _("Préférences des tickets")
|
||||||
|
"""
|
||||||
|
|
||||||
@receiver(post_save, sender=Ticket)
|
@receiver(post_save, sender=Ticket)
|
||||||
def ticket_post_save(**kwargs):
|
def ticket_post_save(**kwargs):
|
||||||
|
|
11
tickets/preferences/forms.py
Normal file
11
tickets/preferences/forms.py
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
from django import forms
|
||||||
|
from django.forms import ModelForm, Form
|
||||||
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
|
from .models import Preferences
|
||||||
|
|
||||||
|
class EditPreferencesForm(ModelForm):
|
||||||
|
""" Edition des préférences des tickets """
|
||||||
|
class Meta:
|
||||||
|
model = Preferences
|
||||||
|
fields = '__all__'
|
12
tickets/preferences/models.py
Normal file
12
tickets/preferences/models.py
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
from django.db import models
|
||||||
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
|
class Preferences(models.Model):
|
||||||
|
""" Class cannonique définissants les préférences des tickets """
|
||||||
|
|
||||||
|
publish_address = models.EmailField(
|
||||||
|
help_text = _("Adresse mail pour annoncer les nouveau tickets (laisser vide pour ne rien annoncer)"),
|
||||||
|
max_length = 1000,
|
||||||
|
null = True)
|
||||||
|
class Meta:
|
||||||
|
verbose_name = _("Préférences des tickets")
|
|
@ -19,18 +19,26 @@ from re2o.acl import(
|
||||||
)
|
)
|
||||||
|
|
||||||
from preferences.models import GeneralOption
|
from preferences.models import GeneralOption
|
||||||
|
|
||||||
from .models import(
|
from .models import(
|
||||||
Ticket,
|
Ticket,
|
||||||
|
)
|
||||||
|
|
||||||
|
from .preferences.models import(
|
||||||
Preferences,
|
Preferences,
|
||||||
)
|
)
|
||||||
|
|
||||||
from .forms import (
|
from .forms import (
|
||||||
NewTicketForm,
|
NewTicketForm,
|
||||||
ChangeStatusTicketForm,
|
ChangeStatusTicketForm,
|
||||||
|
)
|
||||||
|
|
||||||
|
from .preferences.forms import (
|
||||||
EditPreferencesForm,
|
EditPreferencesForm,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def new_ticket(request):
|
def new_ticket(request):
|
||||||
""" Vue de création d'un ticket """
|
""" Vue de création d'un ticket """
|
||||||
ticketform = NewTicketForm(request.POST or None)
|
ticketform = NewTicketForm(request.POST or None)
|
||||||
|
|
Loading…
Reference in a new issue