From ce258019039f2338998f098a68826b4825ec6d04 Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Tue, 17 Jul 2018 16:41:30 +0200
Subject: [PATCH] voucher partners have name (instead of using first name and
 last name)

---
 smash/web/forms/worker_form.py                |  3 ++
 .../web/migrations/0117_auto_20180717_1434.py | 30 +++++++++++++++++++
 smash/web/models/worker.py                    | 28 ++++++++++++++---
 smash/web/templates/doctors/index.html        | 20 ++++++++-----
 4 files changed, 69 insertions(+), 12 deletions(-)
 create mode 100644 smash/web/migrations/0117_auto_20180717_1434.py

diff --git a/smash/web/forms/worker_form.py b/smash/web/forms/worker_form.py
index 37fa22d1..0321c7bf 100644
--- a/smash/web/forms/worker_form.py
+++ b/smash/web/forms/worker_form.py
@@ -40,8 +40,11 @@ class WorkerForm(ModelForm):
 
         if worker_type == WORKER_STAFF:
             del self.fields['voucher_types']
+            del self.fields['name']
         else:
             del self.fields['locations']
+            del self.fields['first_name']
+            del self.fields['last_name']
 
         if worker_type != WORKER_VOUCHER_PARTNER:
             del self.fields['voucher_partner_code']
diff --git a/smash/web/migrations/0117_auto_20180717_1434.py b/smash/web/migrations/0117_auto_20180717_1434.py
new file mode 100644
index 00000000..ddc48c02
--- /dev/null
+++ b/smash/web/migrations/0117_auto_20180717_1434.py
@@ -0,0 +1,30 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2018-07-17 14:34
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('web', '0116_auto_20180611_1346'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='worker',
+            name='name',
+            field=models.CharField(blank=True, default=b'', max_length=50, verbose_name=b'Name'),
+        ),
+        migrations.AlterField(
+            model_name='worker',
+            name='first_name',
+            field=models.CharField(blank=True, max_length=50, verbose_name=b'First name'),
+        ),
+        migrations.AlterField(
+            model_name='worker',
+            name='last_name',
+            field=models.CharField(blank=True, max_length=50, verbose_name=b'Last name'),
+        ),
+    ]
diff --git a/smash/web/models/worker.py b/smash/web/models/worker.py
index b3dde9b8..c631fd4e 100644
--- a/smash/web/models/worker.py
+++ b/smash/web/models/worker.py
@@ -68,11 +68,19 @@ class Worker(models.Model):
                                 verbose_name='Username'
                                 )
     first_name = models.CharField(max_length=50,
-                                  verbose_name='First name'
+                                  verbose_name='First name',
+                                  blank=True,
                                   )
     last_name = models.CharField(max_length=50,
-                                 verbose_name='Last name'
+                                 verbose_name='Last name',
+                                 blank=True,
                                  )
+    name = models.CharField(max_length=50,
+                            verbose_name='Name',
+                            default='',
+                            blank=True,
+                            null=False
+                            )
     phone_number = models.CharField(max_length=20,
                                     verbose_name='Phone number',
                                     blank=True
@@ -189,10 +197,22 @@ class Worker(models.Model):
             return unicode(person), role
 
     def __str__(self):
-        return "%s %s" % (self.first_name, self.last_name)
+        if self.name != '':
+            if self.first_name == '':
+                return self.name
+            else:
+                return "%s %s %s" % (self.name, self.first_name, self.last_name)
+        else:
+            return "%s %s" % (self.first_name, self.last_name)
 
     def __unicode__(self):
-        return "%s %s" % (self.first_name, self.last_name)
+        if self.name != '':
+            if self.first_name == '':
+                return self.name
+            else:
+                return "%s %s %s" % (self.name, self.first_name, self.last_name)
+        else:
+            return "%s %s" % (self.first_name, self.last_name)
 
     def initials(self):
         result = ""
diff --git a/smash/web/templates/doctors/index.html b/smash/web/templates/doctors/index.html
index 1d64262c..6960412e 100644
--- a/smash/web/templates/doctors/index.html
+++ b/smash/web/templates/doctors/index.html
@@ -34,12 +34,14 @@
             <thead>
             <tr>
                 <th>No.</th>
-                <th>First name</th>
-                <th>Last name</th>
-                <th>Languages</th>
                 {% if worker_type == 'STAFF' %}
+                    <th>First name</th>
+                    <th>Last name</th>
                     <th>Unit</th>
+                {% else %}
+                    <th>Name</th>
                 {% endif %}
+                <th>Languages</th>
                 <th>Details</th>
                 {% if worker_type == 'STAFF' %}
                     <th>On leave</th>
@@ -51,8 +53,13 @@
             {% for worker in doctors_list %}
                 <tr>
                     <td>{{ forloop.counter }}</td>
-                    <td>{{ worker.first_name }}</td>
-                    <td>{{ worker.last_name }}</td>
+                    {% if worker_type == 'STAFF' %}
+                        <td>{{ worker.first_name }}</td>
+                        <td>{{ worker.last_name }}</td>
+                        <td>{{ worker.unit }}</td>
+                    {% else %}
+                        <td>{{ worker.name }}</td>
+                    {% endif %}
                     <td>
                         {% autoescape off %}
                             {% for language in worker.languages.all %}
@@ -60,9 +67,6 @@
                             {% endfor %}
                         {% endautoescape %}
                     </td>
-                    {% if worker_type == 'STAFF' %}
-                        <td>{{ worker.unit }}</td>
-                    {% endif %}
                     <td><a href="{% url 'web.views.worker_edit' worker.id %}" type="button"
                            class="btn btn-block btn-default">Details</a></td>
                     {% if worker_type == 'STAFF' %}
-- 
GitLab