Browse Source

ajout de service

Élie Bouttier 8 years ago
parent
commit
2120ff8303

+ 1 - 1
adhesions/models.py

@@ -71,7 +71,7 @@ class Adhesion(models.Model):
 
     def __str__(self):
         if self.id:
-            return self.get_adherent_name()
+            return 'ADT%d (%s)' % (self.id, self.get_adherent_name())
         else:
             return '?'
 

+ 1 - 1
adhesions/templates/adhesions/adhesion_list.html

@@ -26,7 +26,7 @@
     {% endif %}
         <tr>
             <td><a href="{% url 'adhesion-detail' adhesion.id %}">ADT{{ adhesion.id }}</a></td>
-            <td><a href="{{ adhesion.get_adherent_detail_url }}">{{ adhesion }}</a></td>
+            <td><a href="{{ adhesion.get_adherent_detail_url }}">{{ adhesion.get_adherent_name }}</a></td>
             <td>{{ adhesion.type }}</td>
             <td class="text-right"><a href="{{ adhesion.get_adherent_edit_url }}"><span class="glyphicon glyphicon-pencil"></span>&nbsp;Modifier</a></td>
         </tr>

+ 1 - 0
djadhere/settings.py

@@ -38,6 +38,7 @@ INSTALLED_APPS = [
     'djadhere',
 
     'bootstrap3',
+    'django_select2',
 
     'django.contrib.admin',
     'django.contrib.auth',

+ 2 - 0
djadhere/templates/base.html

@@ -4,11 +4,13 @@
 {% block css %}
 {{ block.super }}
 <link href="{% static 'css/djadhere.css' %}" rel="stylesheet">
+{{ form.media.css }}
 {% endblock %}
 
 {% block js_end %}
 {{ block.super }}
 <script src="{% static 'js/djadhere.js' %}"></script>
+{{ form.media.js }}
 {% endblock %}
 
 {% block body %}

+ 1 - 0
requirements.txt

@@ -1,2 +1,3 @@
 django<1.11
 django-bootstrap3
+django_select2

+ 14 - 0
services/forms.py

@@ -0,0 +1,14 @@
+from django.forms import ModelForm
+
+from django_select2.forms import Select2Widget
+
+from .models import Service
+
+
+class ServiceForm(ModelForm):
+    class Meta:
+        model = Service
+        fields = ('adhesion', 'service_type', 'label', 'notes', 'active',)
+        widgets = {
+            'adhesion': Select2Widget(),
+        }

+ 1 - 0
services/templates/services/service_list.html

@@ -5,6 +5,7 @@
 {% block content %}
 <div class="panel panel-primary">
     <div class="panel-heading">
+        <a class="btn btn-success pull-right" href="{% url 'service-add' %}">Ajouter un service</a>
         <h1>Services</h1>
     </div>
     {% for service in object_list %}

+ 1 - 0
services/urls.py

@@ -6,6 +6,7 @@ from . import views
 urlpatterns = [
     url(r'^services/$', views.ServiceList.as_view(), name='service-list'),
     url(r'^services/(?P<pk>[0-9]+)/$', views.ServiceDetail.as_view(), name='service-detail'),
+    url(r'^services/add/$', views.ServiceCreate.as_view(), name='service-add'),
     url(r'^services/(?P<pk>[0-9]+)/edit/$', views.ServiceUpdate.as_view(), name='service-edit'),
     url(r'^servicetypes/$', views.ServiceTypeList.as_view(), name='servicetype-list'),
     url(r'^servicetypes/add/$', views.ServiceTypeCreate.as_view(), name='servicetype-add'),

+ 7 - 1
services/views.py

@@ -4,6 +4,7 @@ from django.contrib.auth.mixins import LoginRequiredMixin
 from django.contrib.auth.mixins import PermissionRequiredMixin
 
 from .models import Service, ServiceType, IPResource
+from .forms import ServiceForm
 
 
 class ServiceMixin(PermissionRequiredMixin):
@@ -15,6 +16,11 @@ class ServiceList(ServiceMixin, ListView):
     pass
 
 
+class ServiceCreate(ServiceMixin, CreateView):
+    #fields = ('adhesion', 'service_type', 'label', 'notes', 'active',)
+    form_class = ServiceForm
+
+
 class ServiceDetail(LoginRequiredMixin, DetailView):
     def get_queryset(self):
         if self.request.user.is_superuser:
@@ -25,7 +31,7 @@ class ServiceDetail(LoginRequiredMixin, DetailView):
 
 
 class ServiceUpdate(ServiceMixin, UpdateView):
-    fields = ['label', 'notes', 'active']
+    fields = ('label', 'notes', 'active',)
 
 
 class ServiceTypeMixin(PermissionRequiredMixin):