.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 }
+++ /dev/null
-{% 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 %}
-
--- /dev/null
+{% 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 %}
+
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'),
)
# -*- 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
--- /dev/null
+{% 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 %}
<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 %}
+++ /dev/null
-{% 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 %}
{% 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>
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',
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 = {