accueil et mon profil RH
authordavin baragiotta <davin.baragiotta@u-db.(none)>
Tue, 9 Aug 2011 20:33:07 +0000 (16:33 -0400)
committerDavin BARAGIOTTA <davin.baragiotta@auf.org>
Tue, 9 Aug 2011 20:33:07 +0000 (16:33 -0400)
project/media/css/sgrh.css
project/rh/templates/rh/employes_liste.html
project/rh/templates/rh/include/dossier.html [new file with mode: 0644]
project/rh/templates/rh/profil.html
project/rh/views.py
project/views.py

index 230748e..62e6167 100644 (file)
@@ -1,3 +1,6 @@
+#menu li a.disabled { color:#BBD8EC }
+#menu li a.disabled:hover { color:#BBD8EC }
+
 .clear { clear:both; }
 .gauche { float:left; padding-right:2%; }
 .gauche25 { float:left; width:23%; padding-right:2%; }
@@ -12,5 +15,5 @@
 .droite50 { float:right; width:48%; padding-left:2%; }
 .droite60 { float:right; width:58%; padding-left:2%; }
 
-#menu li a.disabled { color:#BBD8EC }
-#menu li a.disabled:hover { color:#BBD8EC }
+.nombre { text-align:right; }
+.archive td { background-color:#e6e6e6; }
index 80dd7f1..2b58faa 100644 (file)
@@ -7,6 +7,17 @@
 <h1>Employés</h1>
 
 <ul>
+<li style="display:inline"><a href="">Annuaire courriel</a></li>
+<li style="display:inline"><a href="">Annuaire téléphonique</a></li>
+</ul>
+
+{% comment %}
+TODO
+Implémenter interface de recherche rapide et complète telle que sur :
+http://intranet.auf/rubrique46.html
+{% endcomment %}
+
+<ul>
 {% for e in employes %}
     <li><a href="{% url rh_employe e.id %}">{{ e }}</a></li>
 {% endfor %}
diff --git a/project/rh/templates/rh/include/dossier.html b/project/rh/templates/rh/include/dossier.html
new file mode 100644 (file)
index 0000000..f47f19b
--- /dev/null
@@ -0,0 +1,9 @@
+<tr{% if d.archive %} class="archive"{% endif %}>
+    <td class="nombre">{{ d.id }}</td>
+    <td><a href ="">{{ d.poste.nom }}</a></td>
+    <td>{{ d.date_debut }}</td>
+    <td>{{ d.date_fin|default_if_none:"" }}</td>
+    <td></td>
+    <td></td>
+    <td></td>
+</tr>
index 6f3b7ab..16bbe2d 100644 (file)
@@ -8,25 +8,42 @@
 
 <div id="identification">
     <div class="gauche50">
-    <h2>{{ employe.civilite }} {{ employe }}</h2>
-{% for d in dossiers_encours %}
-    <p>
-    {{ d.poste.nom }}
-    </p>
-    <p>
-    {{ d.poste.service|default_if_none:"Service inconnu" }}<br />
-    {{ d.poste.implantation.nom }}<br />
-    {{ d.poste.implantation.adresse_physique_ville }}
-    </p>
-{% endfor %}
+        <h2>{{ employe.civilite }} {{ employe }}</h2>
+        {% for d in dossiers_encours %}
+            <p>
+            {% if employe.genre.upper == 'F' %}
+                {{ d.poste.nom_feminin }}
+            {% else %}
+                {{ d.poste.nom }}
+            {% endif %}
+            </p>
+            <p>
+            {{ d.poste.service|default_if_none:"Service inconnu" }}<br />
+            {{ d.poste.implantation.nom }}<br />
+            {{ d.poste.implantation.adresse_physique_ville }}
+            </p>
+        {% endfor %}
     </div>
     <div class="gauche50">
-    <img alt="Photo" width="150" height="200" />
+        <img src="{{ employe.photo }}" alt="Photo" width="150" height="200" />
     </div>
 </div>
-<hr />
+<hr class="clear" />
 
-<div id="infos" class="clear gauche50">
+<div>
+    <h2>Dépendants (ayant-droits)</h2>
+    {% if employe.ayantdroits.all %}
+    <ul>
+    {% for ad in employe.ayantdroits.all %}
+        <li>{{ ad }}</li>
+    {% endfor %}
+    </ul>
+    {% else %}
+        Aucun dépendant.
+    {% endif %}
+</div>
+
+<div id="infos" class="gauche50">
     <h2>Informations professionnelles AUF</h2>
     <table>
         <tbody>
@@ -66,7 +83,6 @@
 
 <div id="coord" class="clear gauche50">
     <h2>Coordonnées professionnelles AUF</h2>
-    
     <table>
         <tbody>
             <tr>
     </table>
 </div>
 
-<div id="dossiers" class="clear">
-<h2>Dossiers</h2>
+<div id="postes" class="clear">
+    <h2>Poste{{ dossiers_encours|pluralize }}</h2>
+    Globalement, mettre les infos du poste pertinente (n'en a pas beaucoup)...
+    ... mais surtout les infos du dossier (le fait que cette personne occupe ce poste).
+    {% for d in dossiers_encours %}
+    <table>
+        <tbody>
+            <tr>
+                <th>Nom :</th>
+                <td>{{ d.poste.nom }}</td>
+            </tr>
+            <tr>
+                <th>Implantation :</th>
+                <td>{{ d.poste.implantation }}</td>
+            </tr>
+            <tr>
+                <th>Type de poste :</th>
+                <td>{{ d.poste.type_poste }}</td>
+            </tr>
+            <tr>
+                <th>Service :</th>
+                <td>{{ d.poste.service }}</td>
+            </tr>
+            <tr>
+                <th>Poste du responsable :</th>
+                <td>{{ d.poste.responsable }}</td>
+            </tr>
+            <tr>
+                <th>Régime de travail :</th>
+                <td>{{ d.poste.regime_travail }}</td>
+            </tr>
+            <tr>
+                <th>Nombre d'heures par semaine :</th>
+                <td>{{ d.poste.regime_travail_nb_heure_semaine }}</td>
+            </tr>
+        </tbody>
+    </table>
+    {% endfor %}
+</div>
 
-<ul>
-{% for d in employe.dossiers.all %}
-    <li>
-    <a href ="">{{ d }}</a>
-    {% if d not in dossiers_encours %}
-        <i>(archive)</i>
-    {% endif %}
-    </li>
-{% endfor %}
-</ul>
+<div id="dossiers">
+    <h2>Dossier{{ dossiers|pluralize }}</h2>
+    <table>
+    <thead>
+        <tr>
+            <th></th>
+            <th>Poste</th>
+            <th>Début</th>
+            <th>Fin</th>
+            <th>Contrat(s)</th>
+            <th>Début</th>
+            <th>Fin</th>
+        </tr>
+    </thead>
+    <tbody>
+    {% for d in dossiers_encours %}
+        {% include "rh/include/dossier.html" %}
+    {% endfor %}
+    {% for d in dossiers_passes %}
+        {% include "rh/include/dossier.html" %}
+    {% endfor %}
+    </tbody>
+    </table>
 </div>
+
+{% comment %}
+* Pièces jointes (Employé, Poste, Dossier?)
+* Commentaire / remarque ? attention, commentaires privés des gestionnnaires?
+* Rémunération
+* Évaluation
+{% endcomment %}
+
 {% endblock %}
 
index c5cce58..4916040 100644 (file)
@@ -1,5 +1,6 @@
 # -*- encoding: utf-8 -*-
 from datetime import date
+
 from django.contrib.auth.decorators import login_required
 from django.shortcuts import redirect, render_to_response, get_object_or_404
 from django.template import RequestContext
@@ -18,13 +19,22 @@ def profil(request):
     
     employe = rc['this_employe']
     
-    # dossiers en cours
+    # dossiers en cours et passés
     today = date.today()
-    dossiers_encours = employe.dossiers.all().exclude(date_debut__gt=today) \
-        .exclude(date_fin__lt=today)
+    dossiers = employe.dossiers.all().order_by('-date_fin')
+    dossiers_passes = dossiers.filter(date_fin__lt=today)
+    dossiers_futurs = dossiers.filter(date_debut__gt=today)
+    dossiers_p_f = dossiers_passes | dossiers_futurs
+    ids_dossiers_p_f = [d.id for d in dossiers_p_f]
+    dossiers_encours = dossiers.exclude(id__in=ids_dossiers_p_f)
+    
+    for d in dossiers_passes:
+        d.archive = True
     
     c['user'] = request.user
     c['employe'] = employe
+    c['dossiers'] = dossiers.count()
+    c['dossiers_passes'] = dossiers_passes
     c['dossiers_encours'] = dossiers_encours
     return render_to_response('rh/profil.html', c, rc)
     
index 3e26830..c25d676 100644 (file)
@@ -1,4 +1,6 @@
 # -*- encoding: utf-8 -*-
+from datetime import date
+
 from django.contrib.auth.decorators import login_required
 from django.shortcuts import render_to_response
 from django.template import RequestContext
@@ -10,9 +12,15 @@ def accueil(request):
     """Accueil = Tableau de bord de l'utilisateur"""
     rc = RequestContext(request)
     c = {}
+    today = date.today()
     
-    # TODO : debug
-    employes = rh.Employe.objects.filter(actif=True).exclude(supprime=True).order_by('?')
+    # employés présents = metadata ok et dossiers présents
+    employes = rh.Employe.objects   \
+                    .filter(actif=True, supprime=False)   \
+                    .filter(dossiers__actif=True, dossiers__supprime=False) \
+                    .exclude(dossiers__date_debut__gt=today) \
+                    .exclude(dossiers__date_fin__lt=today) \
+                    .order_by('?')
     
     c['employes'] = employes[0:10]
     return render_to_response('accueil.html', c, rc)