mirror of
https://gitlab2.federez.net/re2o/re2o
synced 2024-11-30 08:32:26 +00:00
Merge branch 'master' into ouverture_des_ports
This commit is contained in:
commit
892f3127a0
5 changed files with 40 additions and 17 deletions
|
@ -109,7 +109,7 @@ def new_facture(request, userid):
|
||||||
return form({'factureform': facture_form, 'venteform': article_formset, 'articlelist': article_list}, 'cotisations/new_facture.html', request)
|
return form({'factureform': facture_form, 'venteform': article_formset, 'articlelist': article_list}, 'cotisations/new_facture.html', request)
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
@permission_required('trésorier')
|
@permission_required('tresorier')
|
||||||
def new_facture_pdf(request):
|
def new_facture_pdf(request):
|
||||||
facture_form = NewFactureFormPdf(request.POST or None)
|
facture_form = NewFactureFormPdf(request.POST or None)
|
||||||
if facture_form.is_valid():
|
if facture_form.is_valid():
|
||||||
|
@ -156,7 +156,7 @@ def edit_facture(request, factureid):
|
||||||
except Facture.DoesNotExist:
|
except Facture.DoesNotExist:
|
||||||
messages.error(request, u"Facture inexistante" )
|
messages.error(request, u"Facture inexistante" )
|
||||||
return redirect("/cotisations/")
|
return redirect("/cotisations/")
|
||||||
if request.user.has_perms(['trésorier']):
|
if request.user.has_perms(['tresorier']):
|
||||||
facture_form = TrezEditFactureForm(request.POST or None, instance=facture)
|
facture_form = TrezEditFactureForm(request.POST or None, instance=facture)
|
||||||
elif facture.control or not facture.valid:
|
elif facture.control or not facture.valid:
|
||||||
messages.error(request, "Vous ne pouvez pas editer une facture controlée ou invalidée par le trésorier")
|
messages.error(request, "Vous ne pouvez pas editer une facture controlée ou invalidée par le trésorier")
|
||||||
|
@ -223,7 +223,7 @@ def credit_solde(request, userid):
|
||||||
|
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
@permission_required('trésorier')
|
@permission_required('tresorier')
|
||||||
def add_article(request):
|
def add_article(request):
|
||||||
article = ArticleForm(request.POST or None)
|
article = ArticleForm(request.POST or None)
|
||||||
if article.is_valid():
|
if article.is_valid():
|
||||||
|
@ -236,7 +236,7 @@ def add_article(request):
|
||||||
return form({'factureform': article}, 'cotisations/facture.html', request)
|
return form({'factureform': article}, 'cotisations/facture.html', request)
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
@permission_required('trésorier')
|
@permission_required('tresorier')
|
||||||
def edit_article(request, articleid):
|
def edit_article(request, articleid):
|
||||||
try:
|
try:
|
||||||
article_instance = Article.objects.get(pk=articleid)
|
article_instance = Article.objects.get(pk=articleid)
|
||||||
|
@ -254,7 +254,7 @@ def edit_article(request, articleid):
|
||||||
return form({'factureform': article}, 'cotisations/facture.html', request)
|
return form({'factureform': article}, 'cotisations/facture.html', request)
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
@permission_required('trésorier')
|
@permission_required('tresorier')
|
||||||
def del_article(request):
|
def del_article(request):
|
||||||
article = DelArticleForm(request.POST or None)
|
article = DelArticleForm(request.POST or None)
|
||||||
if article.is_valid():
|
if article.is_valid():
|
||||||
|
@ -267,7 +267,7 @@ def del_article(request):
|
||||||
return form({'factureform': article}, 'cotisations/facture.html', request)
|
return form({'factureform': article}, 'cotisations/facture.html', request)
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
@permission_required('trésorier')
|
@permission_required('tresorier')
|
||||||
def add_paiement(request):
|
def add_paiement(request):
|
||||||
paiement = PaiementForm(request.POST or None)
|
paiement = PaiementForm(request.POST or None)
|
||||||
if paiement.is_valid():
|
if paiement.is_valid():
|
||||||
|
@ -280,7 +280,7 @@ def add_paiement(request):
|
||||||
return form({'factureform': paiement}, 'cotisations/facture.html', request)
|
return form({'factureform': paiement}, 'cotisations/facture.html', request)
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
@permission_required('trésorier')
|
@permission_required('tresorier')
|
||||||
def edit_paiement(request, paiementid):
|
def edit_paiement(request, paiementid):
|
||||||
try:
|
try:
|
||||||
paiement_instance = Paiement.objects.get(pk=paiementid)
|
paiement_instance = Paiement.objects.get(pk=paiementid)
|
||||||
|
@ -298,7 +298,7 @@ def edit_paiement(request, paiementid):
|
||||||
return form({'factureform': paiement}, 'cotisations/facture.html', request)
|
return form({'factureform': paiement}, 'cotisations/facture.html', request)
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
@permission_required('trésorier')
|
@permission_required('tresorier')
|
||||||
def del_paiement(request):
|
def del_paiement(request):
|
||||||
paiement = DelPaiementForm(request.POST or None)
|
paiement = DelPaiementForm(request.POST or None)
|
||||||
if paiement.is_valid():
|
if paiement.is_valid():
|
||||||
|
@ -329,7 +329,7 @@ def add_banque(request):
|
||||||
return form({'factureform': banque}, 'cotisations/facture.html', request)
|
return form({'factureform': banque}, 'cotisations/facture.html', request)
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
@permission_required('trésorier')
|
@permission_required('tresorier')
|
||||||
def edit_banque(request, banqueid):
|
def edit_banque(request, banqueid):
|
||||||
try:
|
try:
|
||||||
banque_instance = Banque.objects.get(pk=banqueid)
|
banque_instance = Banque.objects.get(pk=banqueid)
|
||||||
|
@ -347,7 +347,7 @@ def edit_banque(request, banqueid):
|
||||||
return form({'factureform': banque}, 'cotisations/facture.html', request)
|
return form({'factureform': banque}, 'cotisations/facture.html', request)
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
@permission_required('trésorier')
|
@permission_required('tresorier')
|
||||||
def del_banque(request):
|
def del_banque(request):
|
||||||
banque = DelBanqueForm(request.POST or None)
|
banque = DelBanqueForm(request.POST or None)
|
||||||
if banque.is_valid():
|
if banque.is_valid():
|
||||||
|
@ -365,7 +365,7 @@ def del_banque(request):
|
||||||
return form({'factureform': banque}, 'cotisations/facture.html', request)
|
return form({'factureform': banque}, 'cotisations/facture.html', request)
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
@permission_required('trésorier')
|
@permission_required('tresorier')
|
||||||
def control(request):
|
def control(request):
|
||||||
options, created = GeneralOption.objects.get_or_create()
|
options, created = GeneralOption.objects.get_or_create()
|
||||||
pagination_number = options.pagination_number
|
pagination_number = options.pagination_number
|
||||||
|
|
|
@ -74,9 +74,10 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
</td>
|
</td>
|
||||||
<td>{{ interface.type }}</td>
|
<td>{{ interface.type }}</td>
|
||||||
<td>{{ interface.mac_address }}</td>
|
<td>{{ interface.mac_address }}</td>
|
||||||
<td>{{ interface.ipv4 }}
|
<td><b>IPv4</b> {{ interface.ipv4 }}
|
||||||
{% if ipv6_enabled %}
|
{% if ipv6_enabled %}
|
||||||
{{ interface.ipv6 }}
|
<br>
|
||||||
|
<b>IPv6</b> {{ interface.ipv6 }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
|
|
|
@ -157,8 +157,8 @@ STATIC_URL = '/static/'
|
||||||
STATIC_ROOT = os.path.join(BASE_DIR, 'static_files')
|
STATIC_ROOT = os.path.join(BASE_DIR, 'static_files')
|
||||||
|
|
||||||
RIGHTS_LINK = {
|
RIGHTS_LINK = {
|
||||||
'cableur' : ['bureau','infra','bofh','trésorier'],
|
'cableur' : ['bureau','infra','bofh','tresorier'],
|
||||||
'bofh' : ['bureau','trésorier'],
|
'bofh' : ['bureau','tresorier'],
|
||||||
}
|
}
|
||||||
|
|
||||||
GRAPH_MODELS = {
|
GRAPH_MODELS = {
|
||||||
|
|
21
users/migrations/0055_auto_20171003_0556.py
Normal file
21
users/migrations/0055_auto_20171003_0556.py
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Generated by Django 1.10.7 on 2017-10-03 03:56
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
import django.core.validators
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('users', '0054_auto_20170626_2219'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='listright',
|
||||||
|
name='listright',
|
||||||
|
field=models.CharField(max_length=255, unique=True, validators=[django.core.validators.RegexValidator('^[a-z]+$', message='Les groupes unix ne peuvent contenir que des lettres minuscules')]),
|
||||||
|
),
|
||||||
|
]
|
|
@ -48,6 +48,7 @@ from django.utils import timezone
|
||||||
from django.contrib.auth.models import AbstractBaseUser, BaseUserManager
|
from django.contrib.auth.models import AbstractBaseUser, BaseUserManager
|
||||||
|
|
||||||
from django.core.validators import MinLengthValidator
|
from django.core.validators import MinLengthValidator
|
||||||
|
from django.core.validators import RegexValidator
|
||||||
from topologie.models import Room
|
from topologie.models import Room
|
||||||
from cotisations.models import Cotisation, Facture, Paiement, Vente
|
from cotisations.models import Cotisation, Facture, Paiement, Vente
|
||||||
from machines.models import Domain, Interface, MachineType, Machine, Nas, MachineType, Extension, regen
|
from machines.models import Domain, Interface, MachineType, Machine, Nas, MachineType, Extension, regen
|
||||||
|
@ -253,7 +254,7 @@ class User(AbstractBaseUser):
|
||||||
|
|
||||||
@cached_property
|
@cached_property
|
||||||
def is_trez(self):
|
def is_trez(self):
|
||||||
return self.has_right('trésorier')
|
return self.has_right('tresorier')
|
||||||
|
|
||||||
@cached_property
|
@cached_property
|
||||||
def is_infra(self):
|
def is_infra(self):
|
||||||
|
@ -619,7 +620,7 @@ class School(models.Model):
|
||||||
class ListRight(models.Model):
|
class ListRight(models.Model):
|
||||||
PRETTY_NAME = "Liste des droits existants"
|
PRETTY_NAME = "Liste des droits existants"
|
||||||
|
|
||||||
listright = models.CharField(max_length=255, unique=True)
|
listright = models.CharField(max_length=255, unique=True, validators=[RegexValidator('^[a-z]+$', message="Les groupes unix ne peuvent contenir que des lettres minuscules")])
|
||||||
gid = models.IntegerField(unique=True, null=True)
|
gid = models.IntegerField(unique=True, null=True)
|
||||||
details = models.CharField(help_text="Description", max_length=255, blank=True)
|
details = models.CharField(help_text="Description", max_length=255, blank=True)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue