accueil et mon profil
authordavin baragiotta <davin.baragiotta@u-db.(none)>
Fri, 5 Aug 2011 21:51:03 +0000 (17:51 -0400)
committerDavin BARAGIOTTA <davin.baragiotta@auf.org>
Fri, 5 Aug 2011 21:51:03 +0000 (17:51 -0400)
project/media/css/sgrh.css
project/rh/templates/rh/perso.html [deleted file]
project/rh/templates/rh/profil.html [new file with mode: 0644]
project/rh/urls.py
project/rh/views.py
project/templates/accueil.html [new file with mode: 0644]
project/templates/actions.html
project/templates/index.html [deleted file]
project/templates/menu.html
project/urls.py
project/views.py

index d499539..230748e 100644 (file)
@@ -1,13 +1,16 @@
 .clear { clear:both; }
-.gauche { float:left; }
-.gauche25 { float:left; width:25%; }
-.gauche33 { float:left; width:33%; }
-.gauche40 { float:left; width:40%; }
-.gauche50 { float:left; width:50%; }
-.gauche60 { float:left; width:60%; }
+.gauche { float:left; padding-right:2%; }
+.gauche25 { float:left; width:23%; padding-right:2%; }
+.gauche33 { float:left; width:31%; padding-right:2%; }
+.gauche40 { float:left; width:38%; padding-right:2%; }
+.gauche50 { float:left; width:48%; padding-right:2%; }
+.gauche60 { float:left; width:58%; padding-right:2%; }
 .droite { float:right; }
-.droite25 { float:right; width:25%; }
-.droite33 { float:right; width:33%; }
-.droite40 { float:right; width:40%; }
-.droite50 { float:right; width:50%; }
-.droite60 { float:right; width:60%; }
+.droite25 { float:right; width:23%; padding-left:2%; }
+.droite33 { float:right; width:31%; padding-left:2%; }
+.droite40 { float:right; width:38%; padding-left:2%; }
+.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 }
diff --git a/project/rh/templates/rh/perso.html b/project/rh/templates/rh/perso.html
deleted file mode 100644 (file)
index c4c5432..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-{% extends 'sgrh.html' %}
-
-{% block title %}RH - {{ employe }}{% endblock %}
-{% block sous_titre %}Espace personnel{% endblock %}
-
-{% block main %}
-<h1>{{ employe.civilite }} {{ employe }}</h1>
-
-<div id="identification">
-<p>{{ employe.dossier.poste }}</p>
-</div>
-
-<div id="infos" class="gauche50">
-    <h2>Informations professionnelles AUF</h2>
-    <table>
-        <tbody>
-            <tr>
-                <th>Date d'entrée :</th>
-                <td>{{ employe.date_entree }}</td>
-            </tr>
-        </tbody>
-    </table>
-
-</div>
-<div id="infos_perso" class="gauche50">
-    <h2>Informations personnelles</h2>
-    <table>
-        <tbody>
-            {% comment %}
-            <tr>
-                <th>Nom d'affichage :</th>
-                <td>{{ employe.nom_affichage }}</td>
-            </tr>
-            {% endcomment %}
-            <tr>
-                <th>Date de naissance :</th>
-                <td>{{ employe.date_naissance }}</td>
-            </tr>
-            <tr>
-                <th>Nationalité :</th>
-                <td>{{ employe.nationalite }}</td>
-            </tr>
-            <tr>
-                <th>Situation familiale :</th>
-                <td>{{ employe.situation_familiale }}</td>
-            </tr>
-        </tbody>
-    </table>
-
-</div>
-
-<div id="coord" class="clear gauche50">
-    <h2>Coordonnées professionnelles AUF</h2>
-    {{ employe.courriel }}
-</div>
-<div id="coord_perso" class="gauche50">
-    <h2>Coordonnées personnelles</h2>
-    <table>
-        <tbody>
-            <tr>
-                <th>Téléphone domicile :</th>
-                <td>{{ employe.tel_domicile }}</td>
-            </tr>
-            <tr>
-                <th>Téléphone cellulaire :</th>
-                <td>{{ employe.tel_cellulaire }}</td>
-            </tr>
-            <tr>
-                <th>Adresse complète :</th>
-                <td>
-                    {{ employe.adresse }}<br />
-                    {% if employe.ville or employe.province %}
-                        {{ employe.ville }}
-                        {% if employe.ville and employe.province %}, {% endif %}
-                        {{ employe.province }}
-                        <br />
-                    {% endif %}
-                    {% if employe.code_postal %}
-                        {{ employe.code_postal }}<br />
-                    {% endif %}
-                    {{ employe.pays.nom }}
-                </td>
-            </tr>
-        </tbody>
-    </table>
-</div>
-
-<div id="dossiers" class="clear">
-<h2>Dossiers</h2>
-
-<ul>
-{% for d in employe.dossiers.all %}
-    <li>{{ d }}</li>
-{% endfor %}
-</ul>
-</div>
-{% endblock %}
-
diff --git a/project/rh/templates/rh/profil.html b/project/rh/templates/rh/profil.html
new file mode 100644 (file)
index 0000000..cb32106
--- /dev/null
@@ -0,0 +1,143 @@
+{% extends 'sgrh.html' %}
+
+{% block title %}RH - {{ employe }}{% endblock %}
+{% block sous_titre %}Mon profil RH{% endblock %}
+
+{% block main %}
+<h1>{{ employe.civilite }} {{ employe }}</h1>
+
+<div id="identification">
+    <div class="gauche50">
+{% 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 %}
+    </div>
+    <div class="gauche50">
+    <img alt="Photo" width="150" height="200" />
+    </div>
+</div>
+<hr />
+
+<div id="infos" class="clear gauche50">
+    <h2>Informations professionnelles AUF</h2>
+    <table>
+        <tbody>
+            <tr>
+                <th>Date d'entrée :</th>
+                <td>{{ employe.date_entree }}</td>
+            </tr>
+        </tbody>
+    </table>
+
+</div>
+<div id="infos_perso" class="gauche50">
+    <h2>Informations personnelles</h2>
+    <table>
+        <tbody>
+            {% comment %}
+            <tr>
+                <th>Nom d'affichage :</th>
+                <td>{{ employe.nom_affichage }}</td>
+            </tr>
+            {% endcomment %}
+            <tr>
+                <th>Date de naissance :</th>
+                <td>{{ employe.date_naissance }}</td>
+            </tr>
+            <tr>
+                <th>Nationalité :</th>
+                <td>{{ employe.nationalite }}</td>
+            </tr>
+            <tr>
+                <th>Situation familiale :</th>
+                <td>{{ employe.situation_familiale }}</td>
+            </tr>
+        </tbody>
+    </table>
+
+</div>
+
+<div id="coord" class="clear gauche50">
+    <h2>Coordonnées professionnelles AUF</h2>
+    
+    <table>
+        <tbody>
+            <tr>
+                <th>Courriel :</th>
+                <td>{{ employe.courriel }}</td>
+            </tr>
+            <tr>
+                <th>Téléphone IP :</th>
+                <td>{{ employe.champ }}</td>
+            </tr>
+            <tr>
+                <th>Téléphone :</th>
+                <td>{{ employe.champ }}</td>
+            </tr>
+            <tr>
+                <th>Télécopie :</th>
+                <td>{{ employe.champ }}</td>
+            </tr>
+            <tr>
+                <th>Adresse postale :</th>
+                <td>
+                </td>
+            </tr>
+        </tbody>
+    </table>
+</div>
+<div id="coord_perso" class="gauche50">
+    <h2>Coordonnées personnelles</h2>
+    <table>
+        <tbody>
+            <tr>
+                <th>Téléphone domicile :</th>
+                <td>{{ employe.tel_domicile }}</td>
+            </tr>
+            <tr>
+                <th>Téléphone cellulaire :</th>
+                <td>{{ employe.tel_cellulaire }}</td>
+            </tr>
+            <tr>
+                <th>Adresse complète :</th>
+                <td>
+                    {{ employe.adresse }}<br />
+                    {% if employe.ville or employe.province %}
+                        {{ employe.ville }}
+                        {% if employe.ville and employe.province %}, {% endif %}
+                        {{ employe.province }}
+                        <br />
+                    {% endif %}
+                    {% if employe.code_postal %}
+                        {{ employe.code_postal }}<br />
+                    {% endif %}
+                    {{ employe.pays.nom }}
+                </td>
+            </tr>
+        </tbody>
+    </table>
+</div>
+
+<div id="dossiers" class="clear">
+<h2>Dossiers</h2>
+
+<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>
+{% endblock %}
+
index 76f1b89..3d13bb4 100644 (file)
@@ -4,6 +4,6 @@ from django.conf.urls.defaults import patterns, url
 urlpatterns = patterns(
     'project.rh.views',
     url(r'^employes/$', 'employes_liste', name='rh_employes'),
-    url(r'^employes/(?P<id>\d+)/perso$', 'perso', name='rh_perso'),
+    url(r'^profil$', 'profil', name='rh_profil'),
     url(r'^employes/(?P<id>\d+)$', 'employe', name='rh_employe'),
 )
index 6bd0eb9..c5cce58 100644 (file)
@@ -1,25 +1,32 @@
 # -*- 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
 
 from datamaster_modeles import models as ref
-from project.decorators import user_is_this_employe
 from project.lib import get_employe_from_id
 
 from rh import models as rh
 
 # homes
-@user_is_this_employe
-def perso(request, id):
-    """Espace personnel de l'employé."""
-    employe = get_employe_from_id(id)
+@login_required
+def profil(request):
+    """Profil personnel de l'employé - éditable"""
+    rc = RequestContext(request)
+    c = {}
     
-    c = {
-        'user':request.user,
-        'employe':employe,
-        }
-    return render_to_response('rh/perso.html', c, RequestContext(request))
+    employe = rc['this_employe']
+    
+    # dossiers en cours
+    today = date.today()
+    dossiers_encours = employe.dossiers.all().exclude(date_debut__gt=today) \
+        .exclude(date_fin__lt=today)
+    
+    c['user'] = request.user
+    c['employe'] = employe
+    c['dossiers_encours'] = dossiers_encours
+    return render_to_response('rh/profil.html', c, rc)
     
 # employes
 @login_required
diff --git a/project/templates/accueil.html b/project/templates/accueil.html
new file mode 100644 (file)
index 0000000..add2cad
--- /dev/null
@@ -0,0 +1,85 @@
+{% extends 'sgrh.html' %}
+
+{% block title %}RH{% endblock %}
+{% block sous_titre %}Accueil{% endblock %}
+
+{% block main %}
+<h1>{{ this_employe }}</h1>
+
+<p>
+L'ensemble des applications RH sera regroupé dans ce système de gestion des ressources humaines (SGRH).
+</p>
+<p>
+Voici pour chaque module les actions que vous pouvez faire.
+</p>
+
+<div class="gauche50">
+    <div>
+    {% if user_in_dae_groupes %}
+        <h2><a href="{% url dae_index %}">Demande d'autorisation d'engagement (DAE)</a></h2>
+        <p>
+        Voici vos actions possibles :
+        </p>
+        <p>
+        En développement... accédez directement au module <a href="{% url dae_index %}">DAE</a>.
+        </p>
+    {% else %}
+        <h2>Demande d'autorisation d'engagement (DAE)</h2>
+        <p>
+        Vous n'avez pas accès au module DAE.
+        </p>
+    {% endif %}
+    </div>
+    
+    <div>
+    {% if user_in_recrutement_groupes %}
+        <h2><a href="{% url index %}">Recrutement</a></h2>
+        <p>
+        Voici vos actions possibles :
+        </p>
+        <p>
+        En développement... accédez directement au module <a href="{% url index %}">Recrutement</a>.
+        </p>
+    {% else %}
+        <h2>Recrutement</h2>
+        <p>
+        Vous n'avez pas accès au module Recrutement.
+        </p>
+    {% endif %}
+    </div>
+    
+    <div>
+    <h2>Contrats</h2>
+    <p>
+    Le module Contrats n'est pas encore intégré à ce système.<br />
+    Le système de gestion de contrats est encore accessible à son ancien emplacement : <br />
+    <a href="http://contrats.auf/">http://contrats.auf/</a>
+    </p>
+    </div>
+    
+    <div>
+    <h2>Évaluations</h2>
+    <p>
+    Le module Évaluations n'est pas encore intégré à ce système.<br />
+    Le système d'évaluation est encore accessible à son ancien emplacement : <br />
+    <a href="http://rh-evaluation.auf">http://rh-evaluation.auf</a>
+    </p>
+    </div>
+</div>
+<div class="gauche50">
+    <h2><a href="{% url rh_employes %}">Employés</a></h2>
+
+    <div class="gauche50">
+    <p>Dix employés au hasard...</p>
+    {% for e in employes %}
+    <ul>
+        <li><a href="{% url rh_employe e.id %}">{{ e }}</a></li>
+    </ul>
+    {% endfor %}
+    </div>
+    <div class="gauche50">
+    Recherche rapide : <input name="recherche" value="Non fonctionnelle" />
+    </div>
+</div>
+
+{% endblock %}
index 6efaf46..4e57578 100644 (file)
@@ -1,10 +1,11 @@
 <ul>
     {% if user.is_authenticated %}
         {% if this_employe %}
-            <li class="username"><a href="{% url rh_perso this_employe.id %}">{{ this_employe }}</a></li>
+            <li class="username">{{ this_employe }}</li>
         {% else %}
             <li class="username">{{ user }}</li>
         {% endif %}
+        <li><a href="{% url rh_profil %}">Mon profil RH</a></li>
         {% if user_is_admin or user_in_dae_groupes or user_in_recrutement_groupes %}
             <li><a href="{% url admin:index %}">Administration</a></li>
         {% endif %}
diff --git a/project/templates/index.html b/project/templates/index.html
deleted file mode 100644 (file)
index e2fa48d..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-{% extends 'base.html' %}
-
-{% block title %}RH{% endblock %}
-{% block sous_titre %}Accueil{% endblock %}
-
-{% block main %}
-<h1>Ressources humaines</h1>
-
-<p>
-L'ensemble des applications RH sera regroupé dans ce système de gestion des ressources humaines (SGRH).
-</p>
-<p>
-Voici les applications actuellement disponibles :
-</p>
-<ul>
-    <li><a href="{% url rh_employes %}">Employés</a></li>
-    <li>
-    {% if user_in_dae_groupes %}
-        <a href="{% url dae_index %}">Demande d'autorisation d'engagement (DAE)</a>
-    {% else %}
-        Demande d'autorisation d'engagement (DAE)
-    {% endif %}
-    </li>
-    <li>
-    {% if user_in_recrutement_groupes %}
-        <a href="{% url index %}">Recrutement</a>
-    {% else %}
-        Recrutement
-    {% endif %}
-    </li>
-</ul>
-<p>
-L'accès aux applications est géré par des permissions d'accès.
-</p>
-
-<h1>Vos permissions d'accès</h1>
-
-{% if user.groups.all %}
-<p>Vous faites partie des groupes suivants : </p>
-<ul>
-    {% for g in request.user.groups.all %}
-    <li>{{ g.name }}</li>
-    {% endfor %}
-</ul>
-{% else %}
-    Vous n'avez aucune permission d'accès particulière.
-{% endif %}
-{% endblock %}
index 0dd8848..ccb73f3 100644 (file)
@@ -1,13 +1,8 @@
 {% load auf_menu dae %}
 
 <ul class="menu">
-    <li class="{% menu_actif request '^$' %}">
-        <a href="{% url accueil %}">Accueil</a>
-    </li>
+    <li class="{% menu_actif request '^$' %}"><a href="{% url accueil %}">Accueil</a></li>
 {% if user.is_authenticated %}
-    <li class="{% menu_actif request '^employes$' %}">
-        <a href="{% url rh_employes %}">Employés</a>
-    </li>
     {% if user_in_dae_groupes %}
     <li class="{% menu_actif request '^dae$' %}">
         <a href="{% url dae_index %}">DAE</a>
         </li>
         </ul>
     </li>
+    {% else %}
+        <li class="{% menu_actif request '^dae$' %}"><a href="" class="disabled">DAE</a></li>
     {% endif %}
     {% if user_in_recrutement_groupes %}
-    <li class="{% menu_actif request '^recrutement$' %}">
-        <a href="{% url index %}">Recrutement</a>
-    </li>
+        <li class="{% menu_actif request '^recrutement$' %}"><a href="{% url index %}">Recrutement</a></li>
+    {% else %}
+        <li class="{% menu_actif request '^recrutement$' %}"><a href="" class="disabled">Recrutement</a></li>
     {% endif %}
+    <li class="{% menu_actif request '^employes$' %}"><a href="{% url rh_employes %}">Employés</a></li>
+    <li class="{% menu_actif request '^evaluations$' %}"><a href="" class="disabled">Évaluations</a></li>
+    <li class="{% menu_actif request '^contrats$' %}"><a href="" class="disabled">Contrats</a></li>
 {% endif %}
 </ul>
index 43b6bb6..c0438ad 100644 (file)
@@ -11,7 +11,7 @@ handler500 # Pyflakes
 urlpatterns = patterns(
     '',
     # système
-    url(r'^$', 'project.views.index', name='accueil'),
+    url(r'^$', 'project.views.accueil', name='accueil'),
 
     (r'^admin/', include(admin.site.urls)),
     url(r'^api/(?P<method>[a-z_-]+)/$', 'recrutement.api.api', 
index b14a92b..5bff05e 100644 (file)
@@ -3,9 +3,19 @@ from django.contrib.auth.decorators import login_required
 from django.shortcuts import render_to_response
 from django.template import RequestContext
 
+import rh.models as rh
+
 @login_required
-def index(request):
-    return render_to_response('index.html', {}, RequestContext(request))
+def accueil(request):
+    """Accueil = Tableau de bord de l'utilisateur"""
+    rc = RequestContext(request)
+    c = {}
+    
+    # TODO : debug
+    employes = rh.Employe.objects.filter(actif=True).exclude(supprime=True).order_by('?')
+    
+    c['employes'] = employes[0:10]
+    return render_to_response('acceuil.html', c, rc)
 
 def erreur404(request) :
     c = {