diff --git a/models/adefpat_list_type_doc.py b/models/adefpat_list_type_doc.py
index 7e26a8cf933e45c90233ec916884789af15c1635..649df9dab4302a38ed81bbdeb33a33ba692bbedd 100644
--- a/models/adefpat_list_type_doc.py
+++ b/models/adefpat_list_type_doc.py
@@ -25,7 +25,6 @@ class AdefpatListTypeDoc(models.Model):
         'adefpat.archi.dossier',
         "Nom du dossier")
     completude = fields.Boolean("Complétude")
-    valid = fields.Boolean("A valider")
 
 
 class AdefpatArchiDossier(models.Model):
@@ -38,4 +37,4 @@ class AdefpatArchiDossier(models.Model):
         'adefpat.archi.dossier', 
         string='Parent', 
         index=True)
-    specifique = fields.Boolean("Dossier spécifique")
\ No newline at end of file
+    specifique = fields.Boolean("Dossier spécifique")
diff --git a/models/hr_expense.py b/models/hr_expense.py
index 0ff59a2bb8e311e1d1b642681a64f859bb1c9fbe..ce70418194a9e8b851dc0b22a9573c4367345b01 100644
--- a/models/hr_expense.py
+++ b/models/hr_expense.py
@@ -40,5 +40,5 @@ class AdefpatHrExpense(models.Model):
             'cmis:secondaryObjectTypeIds': ['P:adefpat:justificatif'],
             'adefpat:justificatifDate': fields.Datetime.to_datetime(self.date).isoformat(),
             'adefpat:justificatifTypeConvention': self.type_convention_id.name,
-            'adefpat:justificatifUtilisateurs': self.user_id.login
+            'adefpat:justificatifUtilisateurs': self.employee_id.user_id.login
         }
diff --git a/models/hr_timesheet.py b/models/hr_timesheet.py
index cd0d359cab2a31819d3ea93bc97bda71694fe9ea..87e10a3cc728011a52c8fa756c3b2e25cefb33c8 100644
--- a/models/hr_timesheet.py
+++ b/models/hr_timesheet.py
@@ -41,5 +41,5 @@ class AdefpatAccountAnalyticLine(models.Model):
             'cmis:secondaryObjectTypeIds': ['P:adefpat:justificatif'],
             'adefpat:justificatifDate': fields.Datetime.to_datetime(self.date).isoformat(),
             'adefpat:justificatifTypeConvention': self.type_convention_id.name,
-            'adefpat:justificatifUtilisateurs': self.user_id.login
+            'adefpat:justificatifUtilisateurs': self.employee_id.user_id.login
         }
diff --git a/models/project.py b/models/project.py
index a1d4a3ebf0065c627fb30084cd837698c311d75e..6b45d46c4207a42bbbca9ebec75f00350a46f60f 100644
--- a/models/project.py
+++ b/models/project.py
@@ -4,6 +4,7 @@
 from datetime import datetime
 
 from odoo import api, models
+from odoo import fields as odooFields
 from odoo.exceptions import UserError
 from odoo.addons.cmis_field import fields
 
@@ -17,6 +18,13 @@ class AdefpatPorteursProjets(models.Model):
         create_properties_get='_get_folder_properties',
     )
 
+    pp_cmis_folder_completion = odooFields.Selection(
+        [(9, 'Inconnu'),
+         (0, 'Incomplet'),
+         (1, 'Complet'),
+         (2, 'Validé')],
+        default=9)
+
     @api.multi
     def get_content_details_url(self):
         for pp in self:
@@ -43,6 +51,7 @@ class AdefpatPorteursProjets(models.Model):
             'cmis:secondaryObjectTypeIds': [
                 'P:adefpat:dossier',
                 'P:adefpat:beneficiaire',
+                'P:adefpat:validation',
                 'P:up:UploadFolder',
                 'P:cm:titled',
                 'P:sys:cascadeUpdate',
@@ -54,6 +63,13 @@ class AdefpatPorteursProjets(models.Model):
             'adefpat:beneficiairePrenom': self.firstname if self.firstname else '',
         }
 
+    @api.multi
+    def _get_completion_status(self):
+        for pp in self:
+            if pp.pp_cmis_folder:
+                backend_name = self._fields['pp_cmis_folder']
+                backend = backend_name.get_backend(pp.env)
+                pp.pp_cmis_folder_completion = backend.get_cmis_repository().getFolder(pp.pp_cmis_folder).getProperties()['adefpat:validationStatut'] or 9
 
 class AdefpatConsultantsProjets(models.Model):
     _inherit = 'res.partner.consultants.project'
@@ -318,18 +334,13 @@ class AlfodooProject(models.Model):
         # Récupération des documents dont la complétude est cochée
         list_doc_completude = list_doc.filtered(lambda r: r.completude == True)
         
-        # Récupération des documents dont la validation est demandée
-        list_doc_valid = list_doc.filtered(lambda r: r.valid == True)
-        
         doc = list_doc.mapped('name')
         doc_completude = list_doc_completude.mapped('name')
-        doc_valid = list_doc_valid.mapped('name')
         
         if doc:
             cmis_folder.updateProperties({
                 'adefpat:typesListe': doc,
                 'adefpat:typesListeCompletude': doc_completude,
-                # 'adefpat:validation': doc_valid,
             })
 
     def create_child(self, object_cmis, object, path_object, backend, child):
@@ -359,3 +370,8 @@ class AlfodooProject(models.Model):
             properties.update({'adefpat:dossierNumero': project.num_dossier})
             folder = backend.get_cmis_object(project)
             folder.updateProperties(properties)
+
+    @api.multi
+    def get_pp_completion(self):
+        for project in self:
+            project.porteurs_projets_ids._get_completion_status()
diff --git a/views/adefpat_list_type_doc_views.xml b/views/adefpat_list_type_doc_views.xml
index 0d0ea21f94f921c0af61bd13580e166fb17681ac..7724e44802fd6b0a4054c4c378d722404561c2ee 100644
--- a/views/adefpat_list_type_doc_views.xml
+++ b/views/adefpat_list_type_doc_views.xml
@@ -16,7 +16,6 @@
                     <field name="convention_ids" />
                     <field name="dossier"/>
                     <field name="completude"/>
-                    <field name="valid"/>
                 </tree>
             </field>
         </record>
@@ -36,7 +35,6 @@
                             <group>
                                 <field name="dossier"/>
                                 <field name="completude"/>
-                                <field name="valid"/>
                             </group>
                         </group>
                     </sheet>
@@ -96,4 +94,4 @@
             action="action_view_adefpat_list_type_doc"/>
     
     </data>
-</odoo>
\ No newline at end of file
+</odoo>
diff --git a/views/hr_expense_views.xml b/views/hr_expense_views.xml
index 97169a01a057b810141ccc1ea1a829f6f2b4b803..4c02d69ffa4b3f1bd263c92bbed0ecdef76ce4ba 100644
--- a/views/hr_expense_views.xml
+++ b/views/hr_expense_views.xml
@@ -11,20 +11,16 @@
             <field name="inherit_id" ref="hr_expense.hr_expense_view_form"/>
             <field name="arch" type="xml">
                 <header position="inside">
-                  <button name="%(adefpat_alfodoo.upload_file_wizard_action)d"
+                    <button name="%(adefpat_alfodoo.upload_file_wizard_action)d"
                           string="Charger le justificatif"
                           type="action"
                           class="oe_highlight"
-                          attrs="{'invisible': [('proof_file', '=', False)]}"/>
-                    <button name="%(adefpat_alfodoo.upload_file_wizard_action)d"
-                          string="Remplacer le justificatif"
-                          type="action"
-                          attrs="{'invisible': [('proof_file', '=', False)]}"/>
-                    <button name="get_content_details_url"
-                          string="Voir le justificatif"
-                          type="objecy"
-                          attrs="{'invisible': [('proof_file', '=', False)]}"/>
+                          attrs="{'invisible': [('proof_file', '!=', False)]}"/>
                     <field name="proof_file" invisible="1"/>
+		    <button name="get_content_details_url"
+                          string="Voir le justificatif"
+                          type="object"
+			  attrs="{'invisible': [('proof_file', '=', False)]}"/>
                 </header>
             </field>
         </record>
diff --git a/views/hr_timesheet_views.xml b/views/hr_timesheet_views.xml
index 4cc72b831f14fc45db50e77db52688313612928d..45abcf62deba734a83cd24305ad5650ebb9eb4ac 100644
--- a/views/hr_timesheet_views.xml
+++ b/views/hr_timesheet_views.xml
@@ -16,6 +16,7 @@
                           string="Charger un doc"
                           type="action"
                           class="btn-outline-info btn-sm"
+                          attrs="{'invisible': ['|',('proof_file', '!=', False),('id', '=', False)]}"
                   />
                   <button icon="/adefpat_alfodoo/static/src/img/alfresco-logo-16.png"
                           name="get_content_details_url"
diff --git a/views/project_views.xml b/views/project_views.xml
index 98f48159f7cea76cb8a38c11e66dc229c707789d..eb59b7102e7f4500b934533b54885336af774fba 100644
--- a/views/project_views.xml
+++ b/views/project_views.xml
@@ -10,7 +10,10 @@
             <field name="name">project.alfresco.view.form.inherit</field>
             <field name="model">project.project</field>
             <field name="inherit_id" ref="adefpat_project.edit_project"/>
-            <field name="arch" type="xml">
+	    <field name="arch" type="xml">
+                <header position="inside">
+                    <button string="Dossiers Complets ?" type="object" class="btn-secondary" name="get_pp_completion" attrs="{'invisible': [('porteurs_projets_ids', '=', False)]}"/>
+                </header>
                 <!-- Ajoute l'onglet Documents dans la vue projet -->
                 <xpath expr="//notebook" position="inside">
                     <page string="Documents" groups="base.group_user">
@@ -32,6 +35,7 @@
                 </xpath>
                 <xpath expr="//field[@name='porteurs_projets_ids']//tree//field[@name='eligible']" position="after">
                   <field name="pp_cmis_folder" invisible="1"/>
+	          <field name="pp_cmis_folder_completion" string="Complet ?" attrs="{'invisible': [('pp_cmis_folder', '=', False)]}"/>
                   <button icon="/adefpat_alfodoo/static/src/img/alfresco-logo-16.png" name="get_content_details_url" string="voir" type="object" attrs="{'invisible': [('pp_cmis_folder', '=', False)]}"/>
                 </xpath>
                 <xpath expr="//field[@name='consulant_ids']//tree//field[@name='is_selected']" position="after">
diff --git a/wizard/upload_file_wizard.py b/wizard/upload_file_wizard.py
index 664ecf23b6ebdd51636e291cbcff2c8e8f38fbb7..03dc1a3247b2fceb77bba5096f3d5c0d9c97f953 100644
--- a/wizard/upload_file_wizard.py
+++ b/wizard/upload_file_wizard.py
@@ -53,14 +53,11 @@ class UploadFileWizard(models.TransientModel):
             file = repo.createDocument(
                 name=self.filename,
                 properties=obj.get_file_properties(),
-                contentString=self.file,
-                contentType=content_type,
+                contentFile=base64.b64decode(self.file),
+                contentType=content_type
             )
-        file_id = file.getProperties().get('cmis:objectId')
-        obj.proof_file = file.getObjectId()
+            file_id = file.getProperties().get('cmis:objectId')
+            obj.proof_file = file.getObjectId()
 
         # TODO: Mettre à jour le champ avec le NodeRef
 
-
-
-
diff --git a/wizard/upload_file_wizard.xml b/wizard/upload_file_wizard.xml
index 0336c178ca5472fb4531afe0a45e2737810d380c..c02613fea10782fb603a5c1abdc742c614b443e7 100644
--- a/wizard/upload_file_wizard.xml
+++ b/wizard/upload_file_wizard.xml
@@ -15,7 +15,7 @@
                         <field name="file" filename="filename" required="1"/>
                     </group>
                     <footer>
-                        <button class="btn btn-sm btn-primary" name="upload_file" string="Ajouter" type="object" confirm="Êtes-vous sûr(e) de vouloir ajouter ce fichier ?"/>
+                        <button class="btn btn-sm btn-primary" name="upload_file" string="Ajouter" type="object"/>
                         <button class="btn btn-sm btn-default" special="cancel" string="Fermer"/>
                     </footer>
                 </form>
@@ -32,4 +32,4 @@
         </record>
 
     </data>
-</odoo>
\ No newline at end of file
+</odoo>