templates/projet/contrat/contrat-form.html.twig line 1

Open in your IDE?
  1. {% if contrat is not defined %}
  2.     {% set contrat = contrat_vierge %}
  3. {%  endif %}
  4. {% if app_logo is not defined %}
  5.     {% set app_logo = societe.logo_path %}
  6. {%  endif %}
  7. {% set salarie = contrat.getSalarie %}
  8. {% set infos = salarie.getInfoSalarie %}
  9. {% set adresse_ligne_1 = '' %}
  10. {% set adresse_ligne_2 = '' %}
  11. {% set adresse_code_postal = '' %}
  12. {% set adresse_ville = '' %}
  13. {% if salarie.serializeAdresse is not empty %}
  14.     {% set adresse_ligne_1 = salarie.serializeAdresse[0].ligne_1 %}
  15.     {% set adresse_ligne_2 = salarie.serializeAdresse[0].ligne_2 %}
  16.     {% set adresse_code_postal = salarie.serializeAdresse[0].code_postal %}
  17.     {% set adresse_ville = salarie.serializeAdresse[0].ville %}
  18. {% endif %}
  19. {% set moisList = ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"] %}
  20. {% set now = "now"|date("Y") %}
  21. {% set dateDeb = now - 2 %}
  22. {% set dateFin = dateDeb + 5 %}
  23. <input class="id-contrat" type="number" value="{% if contrat.getId is not null %}{{ contrat.getId }}{% else %}0{% endif %}" style="display: none">
  24. <input class="id-projet" type="number" value="{{ contrat.getIdProjet }}" style="display: none">
  25. <input class="id-salarie" type="number" value="{% if contrat.getId is not null %}{{ salarie.getId }}{% else %}0{% endif %}" style="display: none">
  26. <div class="row font-boston">
  27.     <div class="col-12 col-sm-12 col-md-12 col-lg-10">
  28.         <div class="card card-bordered">
  29.             <div class="card-header">
  30.                 <div class="row">
  31.                     <div class="col-12 text-center">
  32.                         <h5>FICHE DE RENSEIGNEMENT SALARIE</h5>
  33.                     </div>
  34.                 </div>
  35.                 <div class="col-12">
  36.                     <div class="row">
  37.                         <div class="col-6">
  38.                             <img class="brand-logo" alt="logo-societe" src="{{ asset('build/images/logo/' ~ app_logo ) }}" height="80">
  39.                             <p>{{ societe.rue }} - {{ societe.code_postal }} {{ societe.ville }}</p>
  40.                             <p>{{ societe.telephone }}</p>
  41.                             <p>{{ societe.site_web }}</p>
  42.                         </div>
  43.                     </div>
  44.                     <div class="row mt-1">
  45.                         <div class="col-3">
  46.                             <p>Numéro de production :</p>
  47.                         </div>
  48.                         <div class="col-9">
  49.                             <strong>{{ projet.getNumProd }}</strong>
  50.                         </div>
  51.                     </div>
  52.                     <div class="row">
  53.                         <div class="col-3">
  54.                             <p>Numéro objet ASSEDIC :</p>
  55.                         </div>
  56.                         <div class="col-9">
  57.                             <strong>{{ projet.getNumAdministratif }}</strong>
  58.                         </div>
  59.                     </div>
  60.                     <div class="row">
  61.                         <div class="col-3">
  62.                             <p>Site emploi :</p>
  63.                         </div>
  64.                         <div class="col-9">
  65.                             <strong>Paris</strong>
  66.                         </div>
  67.                     </div>
  68.                 </div>
  69.             </div>
  70.             <div class="col-12">
  71.                 <div class="table-responsive">
  72.                     <table class="table table-bordered">
  73.                         <thead>
  74.                             <tr>
  75.                                 <th class="text-center">INFORMATIONS PERSONNELLES DU SALARIE</th>
  76.                             </tr>
  77.                         </thead>
  78.                     </table>
  79.                 </div>
  80.             </div>
  81.             <div class="card-body">
  82.                 <div class="row">
  83.                     <div class="col-8">
  84.                         <div class="row">
  85.                             <div class="col-4">
  86.                                 <p>Nom :</p>
  87.                             </div>
  88.                             <div class="col-8">
  89.                                 <strong class="label-nom-salarie">{{ salarie.getNomTiers }}</strong>
  90.                             </div>
  91.                         </div>
  92.                         <div class="row">
  93.                             <div class="col-4">
  94.                                 <p>Prénom :</p>
  95.                             </div>
  96.                             <div class="col-8">
  97.                                 <strong class="label-prenom-salarie">{{ salarie.getPrenomTiers }}</strong>
  98.                             </div>
  99.                         </div>
  100.                         <div class="row">
  101.                             <div class="col-4">
  102.                                 <p>Téléphone :</p>
  103.                             </div>
  104.                             <div class="col-8">
  105.                                 <strong class="label-telephone-salarie">{{ salarie.getTelPortableTiers }}</strong>
  106.                             </div>
  107.                         </div>
  108.                         <div class="row">
  109.                             <div class="col-4">
  110.                                 <p>Email :</p>
  111.                             </div>
  112.                             <div class="col-8">
  113.                                 <strong class="label-email-salarie">{{ salarie.getEmailTiers }}</strong>
  114.                             </div>
  115.                         </div>
  116.                         <div class="row">
  117.                             <div class="col-4">
  118.                                 <p>Adresse :</p>
  119.                             </div>
  120.                             <div class="col-8">
  121.                                 <strong class="label-ligne-1-adresse">{{ adresse_ligne_1 }}</strong>
  122.                             </div>
  123.                         </div>
  124.                         <div class="row">
  125.                             <div class="col-4">
  126.                                 <p>Complément :</p>
  127.                             </div>
  128.                             <div class="col-8">
  129.                                 <strong class="label-ligne-2-adresse">{{ adresse_ligne_2 }}</strong>
  130.                             </div>
  131.                         </div>
  132.                         <div class="row">
  133.                             <div class="col-4">
  134.                                 <p>Code postal :</p>
  135.                             </div>
  136.                             <div class="col-8">
  137.                                 <strong class="label-cp-adresse">{{ adresse_code_postal }}</strong>
  138.                             </div>
  139.                         </div>
  140.                         <div class="row">
  141.                             <div class="col-4">
  142.                                 <p>Ville :</p>
  143.                             </div>
  144.                             <div class="col-8">
  145.                                 <strong class="label-ville-adresse">{{ adresse_ville }}</strong>
  146.                             </div>
  147.                         </div>
  148.                         <div class="row">
  149.                             <div class="col-4">
  150.                                 <p>Pays / Nationalite :</p>
  151.                             </div>
  152.                             <div class="col-8">
  153.                                 <strong class="label-nationalite-salarie">{{ infos.getNationalite }}</strong>
  154.                             </div>
  155.                         </div>
  156.                         <div class="row mt-1">
  157.                             <div class="col-4">
  158.                                 <p>Situation familiale :</p>
  159.                             </div>
  160.                             <div class="col-8">
  161.                                 <strong class="label-situation-familiale-salarie">{{ infos.getSituationFamiliale }}</strong>
  162.                             </div>
  163.                         </div>
  164.                         <div class="row">
  165.                             <div class="col-4">
  166.                                 <p>Numéro sécurité sociale :</p>
  167.                             </div>
  168.                             <div class="col-8">
  169.                                 <strong class="label-num-secu-salarie">{{ infos.getNumSecuSociale }}</strong>
  170.                             </div>
  171.                         </div>
  172.                         <div class="row">
  173.                             <div class="col-4">
  174.                                 <p>Date de naissance :</p>
  175.                             </div>
  176.                             <div class="col-8">
  177.                                 <strong class="label-date-naissance-salarie">{{ infos.getDateNaissance }}</strong>
  178.                             </div>
  179.                         </div>
  180.                         <div class="row">
  181.                             <div class="col-4">
  182.                                 <p>Lieu de naissance :</p>
  183.                             </div>
  184.                             <div class="col-8">
  185.                                 <strong class="label-lieu-naissance-salarie">{{ infos.getNationalite }}</strong>
  186.                             </div>
  187.                         </div>
  188.                         <div class="row mt-1">
  189.                             <div class="col-4">
  190.                                 <p>Fonction :</p>
  191.                             </div>
  192.                             <div class="col-8">
  193.                                 <strong class="label-fonction-salarie">{{ infos.getFonction }}</strong>
  194.                             </div>
  195.                         </div>
  196.                         <div class="row">
  197.                             <div class="col-4">
  198.                                 <p>Statut :</p>
  199.                             </div>
  200.                             <div class="col-8">
  201.                                 <strong class="label-statut-cadre-salarie">{% if infos.getStatutCadre == '0' %}non cadre{% elseif infos.getStatutCadre == '1' %}cadre{% endif %}</strong>
  202.                             </div>
  203.                         </div>
  204.                         <div class="row">
  205.                             <div class="col-4">
  206.                                 <p>Numéro congés spectacle :</p>
  207.                             </div>
  208.                             <div class="col-8">
  209.                                 <strong class="label-num-conges-spectacle-salarie">{{ infos.getNumCongesSpectacle }}</strong>
  210.                             </div>
  211.                         </div>
  212.                         <div class="row">
  213.                             <div class="col-4">
  214.                                 <p>Numéro carte de séjour :</p>
  215.                             </div>
  216.                             <div class="col-8">
  217.                                 <strong class="label-num-carte-sejour-salarie">{{ infos.getNumCarteSejour }}</strong>
  218.                             </div>
  219.                         </div>
  220.                         <div class="row">
  221.                             <div class="col-4">
  222.                                 <p>Numéro carte de presse :</p>
  223.                             </div>
  224.                             <div class="col-8">
  225.                                 <strong class="label-num-carte-presse-salarie">{{ infos.getNumCartePresse }}</strong>
  226.                             </div>
  227.                         </div>
  228.                         <div class="row">
  229.                             <div class="col-4">
  230.                                 <p>Visite médicale :</p>
  231.                             </div>
  232.                             <div class="col-8">
  233.                                 <strong class="label-date-visite-medicale-salarie">{{ infos.getDateVisiteMedicale }}</strong>
  234.                             </div>
  235.                         </div>
  236.                     </div>
  237.                     <div class="col-4">
  238.                         {% if contrat.getId is null %}
  239.                         <div class="row">
  240.                             <div class="col-12 mt-1 mt-sm-0">
  241.                                 <div class="form-group">
  242.                                     <label>Salarié</label>
  243.                                     <fieldset class="form-group">
  244.                                         <select class="select2 select-salarie-contrat form-control select2-hidden-accessible"
  245.                                                 style="width: 100%"
  246.                                                 autocomplete="off"
  247.                                         >
  248.                                         </select>
  249.                                     </fieldset>
  250.                                 </div>
  251.                             </div>
  252.                         </div>
  253.                         {% endif %}
  254.                         <div class="row">
  255.                             <div class="col-12 mt-1 mt-sm-0">
  256.                                 <div class="form-group">
  257.                                     <label>Charges</label>
  258.                                     <fieldset class="form-group">
  259.                                         <select class="select2 select-charges-contrat form-control select2-hidden-accessible" style="width: 100%">
  260.                                             <option value="67" {% if contrat.getId is not null and contrat.getCharge == 67 %}selected{% else %}selected{% endif %}>67%</option>
  261.                                             <option value="60" {% if contrat.getId is not null and contrat.getCharge == 60 %}selected{% endif %}>60% (Comédiens)</option>
  262.                                             <option value="1" {% if contrat.getId is not null and contrat.getCharge == 1 %}selected{% endif %}>1% (Droits d'auteurs)</option>
  263.                                         </select>
  264.                                     </fieldset>
  265.                                 </div>
  266.                             </div>
  267.                         </div>
  268.                         <div class="row">
  269.                             <div class="col-12 mt-1 mt-sm-0">
  270.                                 <div class="form-group">
  271.                                     <label>Description</label>
  272.                                     <fieldset class="form-group">
  273.                                         <textarea class="form-control description-contrat" rows="11">{{ contrat.getDescription }}</textarea>
  274.                                     </fieldset>
  275.                                 </div>
  276.                             </div>
  277.                         </div>
  278.                     </div>
  279.                 </div>
  280.             </div>
  281.             <div class="col-12">
  282.                 <div class="table-responsive">
  283.                     <table class="table table-bordered">
  284.                         <thead>
  285.                             <tr>
  286.                                 <th class="text-center" colspan="31">JOUR(S) TRAVAILLE(S) & SALAIRE JOURNALIER</th>
  287.                             </tr>
  288.                         </thead>
  289.                         <tbody>
  290.                             <tr>
  291.                                 <td colspan="10">Mois :</td>
  292.                                 <td colspan="6">
  293.                                     <select class="select-mois-contrat" style="border: 0; border-bottom: 1px solid lightgrey;">
  294.                                         {% for i in 1..12%}
  295.                                             <option value="{{ "%02d"|format(i) }}"
  296.                                                 {% if contrat.getMois is null %}
  297.                                                     {% if "%02d"|format(i) == "now"|date("m") %} selected {% endif %}
  298.                                                 {% else %}
  299.                                                     {% if i == contrat.getMois %} selected {% endif %}
  300.                                                 {% endif %}
  301.                                             >{{ "%02d"|format(i) }} - {{ moisList[i-1] }}</option>
  302.                                         {% endfor %}
  303.                                     </select>
  304.                                 </td>
  305.                                 <td colspan="10">Annee :</td>
  306.                                 <td colspan="5">
  307.                                     <select type="text" class="select-annee-contrat" style="border: 0; border-bottom: 1px solid lightgrey; width: 100%;">
  308.                                         {% if contrat.getAnnee is null %}
  309.                                             {% for y in dateDeb..dateFin %}
  310.                                                 <option value="{{ y }}" {% if y == "now"|date("Y") %} selected {% endif %} >{{ y }}</option>
  311.                                             {% endfor %}
  312.                                         {% else %}
  313.                                             {% for y in (contrat.getAnnee-2)..dateFin %}
  314.                                                 <option value="{{ y }}" {% if y == contrat.getAnnee %} selected {% endif %}>{{ y }}</option>
  315.                                             {% endfor %}
  316.                                         {% endif %}
  317.                                     </select>
  318.                                 </td>
  319.                             </tr>
  320.                             <tr class="tr-libelle-jour">
  321.                                 {% set semaine = ['dim.','lun.','mar.','mer.','jeu.','ven.','sam.'] %}
  322.                                 {% if contrat.getListeDatePointage is empty %}
  323.                                     {% for i in 1..31 %}
  324.                                         {% set w = date(("now"|date('Y-m-') ~ "%02d"|format(i))).format('w') %}
  325.                                         {% set background = '' %}
  326.                                         {% if w == 0 or w == 6 %}
  327.                                             {% set background = 'background-color: lightgrey;' %}
  328.                                         {% endif %}
  329.                                         <td class="text-center" style="padding: 10px 2px; {{ background }}">{{ semaine[w] }}</td>
  330.                                     {% endfor %}
  331.                                 {% else %}
  332.                                     {% for i in 1..31 %}
  333.                                         {% set w = date( contrat.getAnnee ~'-'~ contrat.getMois ~'-'~ "%02d"|format(i)).format('w') %}
  334.                                         {% set background = '' %}
  335.                                         {% if w == 0 or w == 6 %}
  336.                                             {% set background = 'background-color: lightgrey;' %}
  337.                                         {% endif %}
  338.                                         <td class="text-center" style="padding: 10px 2px; {{ background }}">{{ semaine[w] }}</td>
  339.                                     {% endfor %}
  340.                                 {% endif %}
  341.                             </tr>
  342.                             <tr class="tr-date-jour">
  343.                                 {% if contrat.getListeDatePointage is empty %}
  344.                                     {% for i in 1..31 %}
  345.                                         <td class="td-jour text-center"
  346.                                             style="
  347.                                                 padding: 10px 2px;
  348.                                                 cursor: pointer;
  349.                                             "
  350.                                             data-selected="false"
  351.                                             data-timestamp="{{ date(("now"|date('Y-m-') ~ "%02d"|format(i))).format('U') }}"
  352.                                         >{{ "%02d"|format(i) }}</td>
  353.                                     {% endfor %}
  354.                                 {% else %}
  355.                                     {% for i in 1..31 %}
  356.                                         {% set timestamp = date( contrat.getAnnee ~'-'~ contrat.getMois ~'-'~ "%02d"|format(i)).format('U') %}
  357.                                         {% set selected = false %}
  358.                                         {% if timestamp in contrat.getListeDatePointage %}
  359.                                             {% set selected = true %}
  360.                                         {% endif %}
  361.                                         <td class="td-jour text-center"
  362.                                             style="
  363.                                                 padding: 10px 2px;
  364.                                                 cursor: pointer;
  365.                                                 {% if selected == true %}
  366.                                                     background-color: #2F2F2E;
  367.                                                     color: white;
  368.                                                 {% endif %}
  369.                                             "
  370.                                             data-selected="{{ selected }}"
  371.                                             data-timestamp="{{ timestamp }}"
  372.                                         >{{ "%02d"|format(i) }}</td>
  373.                                     {% endfor %}
  374.                                 {% endif %}
  375.                             </tr>
  376.                             <tr>
  377.                                 <td colspan="10">Salaire journalier :</td>
  378.                                 <td colspan="6">
  379.                                     <input type="text" class="input-salaire-jour-contrat"
  380.                                            style="border: 0; border-bottom: 1px solid lightgrey; width: 100%;"
  381.                                            autocomplete="off"
  382.                                            value="{{ contrat.getTarifJour }}"/>
  383.                                 </td>
  384.                                 <td colspan="10">Nombre d'heures par jour :</td>
  385.                                 <td colspan="5">
  386.                                     <input type="text" class="input-nb-heure-contrat"
  387.                                            style="border: 0; border-bottom: 1px solid lightgrey; width: 100%;"
  388.                                            autocomplete="off"
  389.                                            value="{{ contrat.getHeureParJour }}"/>
  390.                                 </td>
  391.                             </tr>
  392.                         </tbody>
  393.                     </table>
  394.                 </div>
  395.             </div>
  396.             <div class="col-12">
  397.                 <div class="table-responsive">
  398.                     <table class="table table-bordered mb-0">
  399.                         <thead>
  400.                             <tr>
  401.                                 <th class="text-center" colspan="3">RECAPITULATIF</th>
  402.                             </tr>
  403.                         </thead>
  404.                         <tbody>
  405.                             <tr>
  406.                                 <td class="text-center">Nombre de jour(s)</td>
  407.                                 <td class="text-center">Nombre d'heures</td>
  408.                                 <td class="text-center">Salaire total</td>
  409.                             </tr>
  410.                             <tr>
  411.                                 <td class="text-center label-nb-jour-contrat">{{ contrat.getNbJourPointage }}</td>
  412.                                 <td class="text-center label-nb-heure-contrat">{{ contrat.getNbJourPointage * contrat.getHeureParJour }}</td>
  413.                                 <td class="text-center label-salaire-contrat">{{ contrat.getNbJourPointage * contrat.getTarifJour }}</td>
  414.                             </tr>
  415.                         </tbody>
  416.                     </table>
  417.                     <table class="table table-bordered">
  418.                         <thead>
  419.                             <tr>
  420.                                 <th class="text-center" style="width: 50%;">SIGNATURE DE L'INTERESSE</th>
  421.                                 <th class="text-center" style="width: 50%;">SIGNATURE DE LA PRODUCTION</th>
  422.                             </tr>
  423.                         </thead>
  424.                         <tbody>
  425.                             <tr>
  426.                                 <td class="text-center">
  427.                                     {{ salarie.getNomTiers }} {{ salarie.getPrenomTiers }}
  428.                                 </td>
  429.                                 <td class="text-center">
  430.                                     <img alt="signature" src="{{ asset('build/images/signature/' ~ societe.signature_filename ) }}" height="80">
  431.                                 </td>
  432.                             </tr>
  433.                         </tbody>
  434.                     </table>
  435.                 </div>
  436.             </div>
  437.             <div class="card-footer text-center">
  438.                 <p>
  439.                     {{ societe.lib_societe }}, {{ societe.rue }} - {{ societe.code_postal }} {{ societe.ville }}<br>
  440.                     {{ societe.statut }} au capital de {{ societe.capital }} Euros /
  441.                     Code APE - {{ societe.code_ape }} /
  442.                     {{ societe.registre_commerce }} {{ societe.siret }}
  443.                 </p>
  444.             </div>
  445.         </div>
  446.     </div>
  447.     <div class="col-12 col-sm-12 col-md-12 col-lg-2">
  448.         <div class="card card-bordered">
  449.             <div class="card-body">
  450.                 <button type="button" class="btn btn-primary btn-back-contrat btn-block" style="display: none">Retour</button>
  451.                 <button type="button" class="btn btn-primary btn-print-contrat btn-block" data-id-contrat="{{ contrat.getId }}">Imprimer</button>
  452.                 <button type="button" class="btn btn-danger btn-cancel-contrat btn-block">{{ label_btn_cancel }}</button>
  453.                 <button type="button" class="btn btn-success btn-save-contrat btn-block">Sauvegarder</button>
  454.             </div>
  455.         </div>
  456.     </div>
  457. </div>