conflit réglé
authordavin baragiotta <davin.baragiotta@u-db.(none)>
Fri, 8 Apr 2011 03:22:16 +0000 (23:22 -0400)
committerDavin BARAGIOTTA <davin.baragiotta@auf.org>
Fri, 8 Apr 2011 03:22:16 +0000 (23:22 -0400)
1  2 
project/dae/models.py
project/dae/templates/dae/poste.html
project/dae/views.py

diff --combined project/dae/models.py
@@@ -1,10 -1,12 +1,12 @@@
  # -=- encoding: utf-8 -=-
  
+ import os
+ from django.core.files.storage import FileSystemStorage
  from django.db import models
  import reversion
  import datamaster_modeles.models as ref
  from rh_v1 import models as rh
+ import settings
  
  STATUT_RESIDENCE_CHOICES = (
      ('local', 'Local'),
@@@ -21,6 -23,19 +23,19 @@@ POSTE_STATUT_CHOICES = 
      ('DET', 'Détachement'),
  )
  
+ storage_prive = FileSystemStorage(settings.PRIVE_MEDIA_ROOT, base_url=settings.PRIVE_MEDIA_URL)
+ def poste_piece_dispatch(instance, filename):
+     path = "poste/%s/%s" % (instance.poste.id, filename)
+     return path
+ class PostePiece(models.Model):
+     poste = models.ForeignKey("Poste")
+     nom = models.CharField(verbose_name="Nom", max_length=255)
+     fichier = models.FileField(verbose_name="Fichier", upload_to=poste_piece_dispatch, storage=storage_prive)
  class PosteManager(models.Manager):
      """
      Chargement de tous les objets FK existants sur chaque QuerySet.
@@@ -235,10 -250,9 +250,10 @@@ GENRE_CHOICES = 
  class Employe(models.Model):
  
      # Modèle existant
 -    id_rh = models.ForeignKey(rh.Employe, null=True, related_name='+')
 +    id_rh = models.ForeignKey(rh.Employe, null=True, related_name='+', 
 +                            verbose_name='Employé')
      nom = models.CharField(max_length=255)
 -    prenom = models.CharField(max_length=255)
 +    prenom = models.CharField(max_length=255, verbose_name='Prénom')
      genre = models.CharField(max_length=1, choices=GENRE_CHOICES,
                               null=True, blank=True)
  
@@@ -264,8 -278,7 +279,8 @@@ class Dossier(models.Model)
      # Données antérieures de l'employé
      statut_anterieur = models.ForeignKey(
              rh.Statut, related_name='+', null=True, blank=True,
 -            verbose_name='Statut précédent')
 +            verbose_name='Statut antérieur')
 +    #type contrat
      classement_anterieur = models.ForeignKey(
              rh.Classement, related_name='+', null=True, blank=True,
              verbose_name='Classement précédent')
@@@ -15,6 -15,7 +15,6 @@@ Demande d'autorisation d'embauch
          rel="stylesheet" />
  
    <style>
 -    h1.section {background-color: #D0E8F8; text-align: center; color: #5F5F5F; margin: 50px 0px 26px 0px; border-bottom: 3px solid #BBD8EC; padding: 4px;}
      .row {padding: 10px 0px; clear: both; display:block;}
      .row * {float: left; margin: 0px; padding: 0px; margin-right: 4px;}
      .row li {list-style-type: none;}
@@@ -30,7 -31,7 +30,7 @@@
  {% block main %}
  <h1>Demande d'autorisation de création de poste</h1>
  
- <form action="" method="post">
+ <form action="" method="post" enctype="multipart/form-data">
      <fieldset>
      <h2>
          {% if new %}
      </table>
      </fieldset>
      {% comment %}{% endif %}{% endcomment %}
 -    {% comment %}
 -    <h1 class="section clear">SECTION 2 - PERSONNEL ENGAGÉ</h1>
 -    <div class="row"></div>
 -
 -    <h1 class="section">SECTION 3 - COÛT GLOBAL</h1>
 -    <div class="row"></div>
 -
 -    <h1 class="section">SECTION 4 - JUSTIFICATION DE LA DEMANDE (OBLIGATOIRE)</h1>
 -    <div class="row"></div>
 -    {% endcomment %}
 -
+     <fieldset>
+     <h2>Pièces jointes</h2>
+     <p class="info">Compléter uniquement lors de la création d'un poste</p>
+     <table>
 -        {%for f in piecesForm.management_form%}
 -            {{f}}
 -        {%endfor%}
 -         <tr>   
 -         <th></th>
 -         {% for field in piecesForm.forms.0 %}
 -             {% if not field.is_hidden %}<th>{{field.label}}</th>{% endif %}
 -         {% endfor %}
 -         </tr>
 -         {%for f in piecesForm.forms %}
 -             <tr>
 -             <td>{% if f.initial.fichier %}<a href="{{ f.initial.fichier.url }}" target="_blank">Télécharger</a>{% endif %}</td>
 -             {%for field in f%} 
 -                 {% if not field.is_hidden %}<td>{{field}}</td>{%else%}{{field}}{% endif %}
 -             {%endfor%}
 -             </tr>
 -         {%endfor%}
++        {% for f in piecesForm.management_form %}
++            {{ f }}
++        {% endfor %}
++        <tr>   
++            <th></th>
++            {% for field in piecesForm.forms.0 %}
++                {% if not field.is_hidden %}
++                    <th>{{ field.label }}</th>
++                {% endif %}
++            {% endfor %}
++        </tr>
++        {% for f in piecesForm.forms %}
++        <tr>
++            <td>
++                {% if f.initial.fichier %}
++                    <a href="{{ f.initial.fichier.url }}" target="_blank">Télécharger</a>
++                {% endif %}
++            </td>
++            {% for field in f %} 
++                {% if not field.is_hidden %}
++                    <td>{{ field }}</td>
++                {% else %}
++                    {{ field }}
++                {% endif %}
++            {% endfor %}
++        </tr>
++        {% endfor %}
+     </table>
+     </fieldset>
      <input type="submit" name="save" value="Sauvegarder" />
  </form>
  
diff --combined project/dae/views.py
@@@ -8,13 -8,14 +8,14 @@@ from django.shortcuts import redirect, 
  from django.template import RequestContext
  
  from project.dae.forms import (ChoosePosteForm, DossierForm, EmployeForm,
-                                PosteForm, PosteFinancementForm)
+                                PosteForm, PosteFinancementForm, PostePieceForm)
  from project.dae import models as dae
  from project.rh_v1 import models as rh
  
  from project.decorators import admin_required
  
  
  def index(request):
      return render_to_response('dae/index.html', {}, RequestContext(request))
  
@@@ -48,15 -49,18 +49,18 @@@ def poste(request, key=None)
      if request.POST:
          data.update(dict(request.POST.items()))
          form = PosteForm(data, instance=poste)
+         piecesForm = PostePieceForm(request.POST, request.FILES, instance=poste)
          if 'save' in data and form.is_valid():
              poste = form.save()
+             piecesForm.save()
              return redirect('poste', key='dae-%s' % poste.id)
      else:
          # 'initial' évite la validation prémature lors d'une copie de poste de
          # rh_v1 vers dae.
          form = PosteForm(initial=data, instance=poste)
+         piecesForm = PostePieceForm(instance=poste)
  
-     vars.update(dict(form=form, poste=poste, poste_key=key))
+     vars.update(dict(form=form, poste=poste, poste_key=key, piecesForm=piecesForm))
  
      return render_to_response('dae/poste.html', vars, RequestContext(request))
  
@@@ -239,11 -243,7 +243,11 @@@ def dossier(request, poste_key, employe
      else:
          dossier = pre_filled_dossier(dossier_rh, employe_source, poste_rh)
  
 -    return HttpResponse(DossierForm(initial=data, instance=dossier).as_table())
 +    dossier_form = DossierForm(initial=data, instance=dossier)
 +    vars = dict(form=dossier_form)
 +
 +    return render_to_response('dae/embauche-dossier.html', vars,
 +                          RequestContext(request))
  
  
  def salaire(request, implantation, devise, classement):