Bläddra i källkod

[ADD] Paso de falta concluido crear/modificar/eliminar

adrielso 7 år sedan
förälder
incheckning
0d7673bce3

+ 1 - 1
__openerp__.py

@@ -9,7 +9,7 @@ Mejorar usabilidad en la nómina del empleado (Adelantos/Faltas)
 	""",
     'author': 'Adrielso Kunert',
     'category': 'hr',
-    'depends': ['hr', 'account', 'base', 'hr_payroll', 'account_voucher', 'eiru_assets'],
+    'depends': ['hr', 'account', 'base', 'hr_payroll'],
     'data': [
         'views/templates.xml',
         'views/eiru_payslip_utility.xml',

+ 123 - 0
i18n/es_PY.po

@@ -0,0 +1,123 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# 	* eiru_payslip_utility
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 8.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-10-25 14:59+0000\n"
+"PO-Revision-Date: 2017-10-25 12:01-0300\n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: \n"
+"Language: es_PY\n"
+"X-Generator: Poedit 1.8.11\n"
+
+#. module: eiru_payslip_utility
+#. openerp-web
+#: code:addons/eiru_payslip_utility/static/src/xml/modal_payslip_add_faults.xml:32
+#, python-format
+msgid "Adicionar"
+msgstr "Adicionar"
+
+#. module: eiru_payslip_utility
+#. openerp-web
+#: code:addons/eiru_payslip_utility/static/src/xml/modal_payslip_add_faults.xml:39
+#, python-format
+msgid "Cancelar"
+msgstr "Cancelar"
+
+#. module: eiru_payslip_utility
+#. openerp-web
+#: code:addons/eiru_payslip_utility/static/src/xml/payslip_add_faults.xml:11
+#, python-format
+msgid "Crear"
+msgstr "Crear"
+
+#. module: eiru_payslip_utility
+#. openerp-web
+#: code:addons/eiru_payslip_utility/static/src/xml/payslip_add_faults.xml:9
+#, python-format
+msgid "Crear nueva falta de funcionario"
+msgstr "Crear nueva falta de funcionario"
+
+#. module: eiru_payslip_utility
+#: view:hr.payslip:eiru_payslip_utility.view_payslip_utility_add
+msgid "Days not worked"
+msgstr "Días no trabajados"
+
+#. module: eiru_payslip_utility
+#. openerp-web
+#: code:addons/eiru_payslip_utility/static/src/xml/modal_payslip_add_faults.xml:23
+#: code:addons/eiru_payslip_utility/static/src/xml/modal_payslip_modify_faults.xml:22
+#: code:addons/eiru_payslip_utility/static/src/xml/modal_payslip_modify_faults.xml:44
+#, python-format
+msgid "Días no trabajado"
+msgstr "Días no trabajado"
+
+#. module: eiru_payslip_utility
+#. openerp-web
+#: code:addons/eiru_payslip_utility/static/src/xml/payslip_add_faults.xml:15
+#, python-format
+msgid "Editar/Eliminar"
+msgstr "Editar/Eliminar"
+
+#. module: eiru_payslip_utility
+#. openerp-web
+#: code:addons/eiru_payslip_utility/static/src/xml/modal_payslip_modify_faults.xml:31
+#, python-format
+msgid "Modificar"
+msgstr "Modificar"
+
+#. module: eiru_payslip_utility
+#. openerp-web
+#: code:addons/eiru_payslip_utility/static/src/xml/modal_payslip_modify_faults.xml:10
+#, python-format
+msgid "Modificar / Eliminar faltas"
+msgstr "Modificar / Eliminar faltas"
+
+#. module: eiru_payslip_utility
+#. openerp-web
+#: code:addons/eiru_payslip_utility/static/src/xml/payslip_add_faults.xml:13
+#, python-format
+msgid "Modificar o eliminarfalta de funcionario"
+msgstr "Modificar o eliminarfalta de funcionario"
+
+#. module: eiru_payslip_utility
+#. openerp-web
+#: code:addons/eiru_payslip_utility/static/src/xml/modal_payslip_add_faults.xml:20
+#: code:addons/eiru_payslip_utility/static/src/xml/modal_payslip_modify_faults.xml:19
+#: code:addons/eiru_payslip_utility/static/src/xml/modal_payslip_modify_faults.xml:43
+#, python-format
+msgid "Motivo de la falta"
+msgstr "Motivo de la falta"
+
+#. module: eiru_payslip_utility
+#. openerp-web
+#: code:addons/eiru_payslip_utility/static/src/xml/modal_payslip_add_faults.xml:10
+#, python-format
+msgid "Nueva falta de funcionario"
+msgstr "Nueva falta de funcionario"
+
+#. module: eiru_payslip_utility
+#: model:ir.model,name:eiru_payslip_utility.model_hr_payslip
+msgid "Pay Slip"
+msgstr "Nómina"
+
+#. module: eiru_payslip_utility
+#. openerp-web
+#: code:addons/eiru_payslip_utility/static/src/xml/payslip_add_faults.xml:6
+#, python-format
+msgid "Recalcular las falta del funcionario"
+msgstr "Recalcular las falta del funcionario"
+
+#. module: eiru_payslip_utility
+#. openerp-web
+#: code:addons/eiru_payslip_utility/static/src/xml/modal_payslip_modify_faults.xml:67
+#, python-format
+msgid "Salir"
+msgstr "Salir"

+ 1 - 1
model/payslip_faults.py

@@ -9,7 +9,7 @@ class HrPayslip(models.Model):
     @api.model
     def recompute_sheet(self, values):
         payslip = self.env['hr.payslip'].browse(values)
-        payslip_worked = self.env['hr.payslip.worked_days'].search([('payslip_id', '=' ,payslip.id)])
+        payslip_worked = self.env['hr.payslip.worked_days'].search([('payslip_id', '=' ,payslip.id),('code', '=', 'FALTAS')])
         days = 0
 
         for worked in payslip_worked:

+ 26 - 78
static/src/css/style.css

@@ -20,55 +20,13 @@
 .fault-dialog {
     z-index: 1050 !important;
 }
-
 /* table */
 .expired-account-modal .table-row-select {
      background: #d4e2f3  !important;
 }
-
-/*.eiru-payslip-utility {
-    width: auto !important;
-    height: auto !important;
-}*/
-
-/*.oe_stat_button.btn.btn-default.oe_inline.payslip-utility {
-    width: 160px !important;
-}*/
-/*.payslip-details-title {
-    padding-left: 10px;
-    color: #bdbdbd;
-}*/
-
-/*.detallis-employee-input {
-    border-color: #eee !important;
-}*/
-/*.detallis-employee-input.long {
-    width: calc(100% - 10px);
-    border: 0px;
-    font-weight: bold;
-}*/
-/*.detallis-employee-input.short {
-    width: calc(100% - 140px);
-}*/
-/*.detallis-employee-separator {
-    margin-top: 0px;
-    margin-bottom: 5px;
-}*/
-
-/*.payslip-faults {
-    margin-top: -15px;
-}*/
-
-/*.expired-account-modal .payslip-table {
-    width: 868px;
-    height: 140px;
-    position: relative;
-}*/
-
 .expired-account-modal .modal-head-wrapper-payslip {
     width: 100%;
 }
-
 .expired-account-modal .modal-item-payslip {
     width: 100%;
     height: 140px;
@@ -81,41 +39,31 @@
 .expired-account-modal table thead tr th:nth-child(1){
     display: none;
 }
-
-
-/*.expired-account-modal .payslip-table table tbody tr td:nth-child(2){
-    width: 40px ;
-}*/
-/*.expired-account-modal .payslip-table table thead tr th:nth-child(2){
-    width: 40px;
-}*/
-/*.expired-account-modal .payslip-table table tbody tr td:nth-child(3){
-    width: 671px ;
+/* name */
+.expired-account-modal .payslip-table table tbody tr td:nth-child(2){
+    width: 640px ;
     padding-left: 20px;
-}*/
-/*.expired-account-modal .payslip-table table thead tr th:nth-child(3){
-    width: 671px;
-}*/
-/*.expired-account-modal .payslip-table table tbody tr td:nth-child(4){
-    width: 150px ;
+}
+.expired-account-modal .payslip-table table thead tr th:nth-child(2){
+    width: 640px;
+}
+/*Dias*/
+.expired-account-modal .payslip-table table tbody tr td:nth-child(3){
+    width: 160px ;
+    padding-right: 30px;
     text-align: right;
-    padding-left: 20px;
-    padding-right: 10px;
-}*/
-/*.expired-account-modal .payslip-table table thead tr th:nth-child(4){
-    width: 150px;
-}*/
-/*.payslip-title{
-    text-align: center;
-    padding-top: -10px
-}*/
-
-/*.payslip-header {
-    padding-left: 15px;
-    padding-top: 10px;
-    padding-bottom: 10px;
-}*/
-/*.payslip_faults_edit {
-    width: 50px !important;
-    background: red !important;
-}*/
+}
+.expired-account-modal .payslip-table table thead tr th:nth-child(3){
+    width: 160px;
+}
+/*Eliminar*/
+.expired-account-modal .payslip-table table tbody tr td:nth-child(4){
+    width: 20px ;
+}
+.expired-account-modal .payslip-table table thead tr th:nth-child(4){
+    width: 20px;
+}
+/* alinear  tipo numérico */
+.table_number_align {
+    text-align: right !important;
+}

+ 50 - 45
static/src/js/payslip_utility.js

@@ -8,7 +8,6 @@
         template: 'payslip_add.FaultsWidget',
         row_id_select: undefined,
         workedDays: [],
-
         /* init */
         init: function (parent) {
             this._super(parent);
@@ -52,22 +51,22 @@
         ** -------------------------------------------------------------------*/
         /* Description: Función Inicial para recalcular las faltas*/
         fectchRecomputeSheet: function() {
-            var self= this;
+            var self = this;
             self.$el.find('.refresh-faults').attr("disabled", true);
             self.recomputeSheet().then(function(results) {
                 return results;
-            }).then(function(){
+            }).then(function() {
                 self.$el.find('.refresh-faults').removeAttr("disabled");
-                self.reloadLine()
+                self.reloadLine();
             });
          },
         /* Description: Función para recalcular las faltas */
-        recomputeSheet: function(){
+        recomputeSheet: function() {
              var self = this;
              var defer = $.Deferred();
              var recomputePayslip = new openerp.web.Model('hr.payslip');
 
-             recomputePayslip.call('recompute_sheet',[ self.id ],{
+             recomputePayslip.call('recompute_sheet',[ self.id ], {
                      context: new openerp.web.CompoundContext()
              }).then(function(results) {
                  defer.resolve(results);
@@ -95,7 +94,7 @@
             // Close modal
             $('.expired-account-modal').on('hidden.bs.modal', function (e) {
                 results = false;
-                defer.resolve(results)
+                defer.resolve(results);
                 self.removeModal(e);
             });
             // Add faults
@@ -103,7 +102,7 @@
                 var details = $('.expired-account-modal').find('.payslip-details').val();
                 var number =  $('.expired-account-modal').find('.payslip-number-days').val();
 
-                if (!details){
+                if (!details) {
                     openerp.web.notification.do_warn("Atención","Definir un motivo de la falta .");
                     $('.expired-account-modal').find('.payslip-details').css('border-color','red');
                     return
@@ -111,20 +110,22 @@
                     $('.expired-account-modal').find('.payslip-details').css('border-color','#ccc');
                 }
 
-                if (number <= 0){
+                if (number <= 0) {
                     openerp.web.notification.do_warn("Atención","Días no trabajado, debe ser mayor que 0.");
                     $('.expired-account-modal').find('.payslip-number-days').css('border-color','red');
                     return
                 } else {
                     $('.expired-account-modal').find('.payslip-number-days').css('border-color','#ccc');
                 }
-                self.joinPayslipFaults(number, details).then(function(results){
+
+                self.joinPayslipFaults(number, details).then(function(results) {
                     return results;
                 }).then(function(results){
                     self.reloadLine()
                     if (!results)
                         results = false;
                 });
+
                 defer.resolve(results);
                 self.removeModal(e);
             });
@@ -157,17 +158,16 @@
         /* Description: Funcion  Inicial Modify/Unlink Faltas*/
         fectchUpdateFaults: function() {
             var self = this;
-
             self.fectchWorkedDays().then(function(workedDays) {
                 return workedDays;
             }).then(function(workedDays) {
                 self.workedDays = workedDays;
                 return self.showPayslipModifyFaults();
-            }).then(function(results){
+            }).then(function() {
                 return self.recomputeSheet();
-            }).then(function(){
-                return self.reloadLine()
-            })
+            }).then(function() {
+                return self.reloadLine();
+            });
          },
         /* Description : Consultar hr.payslip.worked_days */
         fectchWorkedDays: function() {
@@ -187,11 +187,17 @@
         /* Description: */
         showPayslipModifyFaults: function() {
             var self = this;
-            var defer =$.Deferred();
+            var defer = $.Deferred();
             var row_modify = null;
             var results = true;
 
-            var modal = QWeb.render('EiruPayslipModifyFaults',{
+            if (self.workedDays.length === 0) {
+                openerp.web.notification.do_warn("Atención","No existe falta para modificar o eliminar");
+                return;
+            }
+
+            var modal = QWeb.render('EiruPayslipModifyFaults',
+            {
                 workedDays: self.workedDays
             });
 
@@ -202,27 +208,28 @@
              /*  Close modal */
             $('.expired-account-modal').on('hidden.bs.modal', function (e) {
                 results = true;
-                defer.resolve(results)
+                defer.resolve(results);
                 self.removeModal(e);
             });
             /* Eliminar */
-            var unlink_faults= $('.expired-account-modal').find('.unlink-faults')
-            unlink_faults.click(function(e){
-                 var unlink_row = parseInt($(e.target).closest('td').closest('tr').children()[0].textContent);
-                 $(e.target).closest('td').closest('tr').remove()
-
-                 self.unlink_faults_payslip(unlink_row).then(function(results) {
-                    defer.resolve(results);
-                 })
+            var unlink_faults = $('.expired-account-modal').find('.unlink-faults');
+            unlink_faults.click(function(e) {
+                var unlink_row = parseInt($(e.target).closest('td').closest('tr').children()[0].textContent);
+                $(e.target).closest('td').closest('tr').remove();
 
-             })
+                self.unlink_faults_payslip(unlink_row).then(function(results) {
+                    return results;
+                }).then(function() {
+                    self.recomputeSheet();
+                });
+            });
 
             /* Modificar*/
             var contenido = $('.expired-account-modal').find('.table-tbody').find('tr');
             contenido.click(function (e) {
                 row_modify = $(e.target);
                 if (($(e.target).index() === 3) || ($(e.target).index() === 0))
-                    return
+                    return;
 
                 $(contenido).removeClass('table-row-select');
                 $(e.target).closest('tr').addClass('table-row-select');
@@ -232,48 +239,49 @@
                 var descrip = $(e.target).closest('tr').children()[1].textContent;
                 var worked_days = $(e.target).closest('tr').children()[2].textContent;
 
-                $('.expired-account-modal').find('.payslip-details-modify').val(descrip.trim())
-                $('.expired-account-modal').find('.payslip-number-days-modify').val(parseInt(worked_days))
+                $('.expired-account-modal').find('.payslip-details-modify').val(descrip.trim());
+                $('.expired-account-modal').find('.payslip-number-days-modify').val(parseInt(worked_days));
                 $('.expired-account-modal').find('.modify-faults').removeAttr("disabled");
             });
 
             /* Click boton Modificar */
             var modify = $('.expired-account-modal').find('.modify-faults');
-            modify.click(function(e){
-                var descrip = $('.expired-account-modal').find('.payslip-details-modify').val()
-                var number = $('.expired-account-modal').find('.payslip-number-days-modify').val()
+            modify.click(function(){
+                var descrip = $('.expired-account-modal').find('.payslip-details-modify').val();
+                var number = $('.expired-account-modal').find('.payslip-number-days-modify').val();
 
                 if (!descrip){
                     openerp.web.notification.do_warn("Atención","Definir un motivo de la falta .");
                     $('.expired-account-modal').find('.payslip-details-modify').css('border-color','red');
-                    return
+                    return;
                 } else {
                     $('.expired-account-modal').find('.payslip-details-modify').css('border-color','#ccc');
                 }
                 if (number <= 0){
                     openerp.web.notification.do_warn("Atención","Días no trabajado, debe ser mayor que 0.");
                     $('.expired-account-modal').find('.payslip-number-days-modify').css('border-color','red');
-                    return
+                    return;
                 } else {
                     $('.expired-account-modal').find('.payslip-number-days-modify').css('border-color','#ccc');
                 }
 
-
                 self.write_payslip_worked(self.row_id_select, descrip, number).then(function(results) {
-                   defer.resolve(results);
+                    return results;
+                }).then(function() {
+                    self.recomputeSheet();
                 })
 
                 /* Actualizar en el Grid */
-                row_modify.closest('tr').children()[1].textContent = descrip
-                row_modify.closest('tr').children()[2].textContent = number
+                row_modify.closest('tr').children()[1].textContent = descrip;
+                row_modify.closest('tr').children()[2].textContent = number;
 
-                $('.expired-account-modal').find('.payslip-details-modify').val("")
-                $('.expired-account-modal').find('.payslip-number-days-modify').val(0)
+                $('.expired-account-modal').find('.payslip-details-modify').val("");
+                $('.expired-account-modal').find('.payslip-number-days-modify').val(0);
 
                 $('.expired-account-modal').find('.modify-faults').attr("disabled", true);
             })
 
-            return defer
+            return defer;
          },
         /* Description: Eliminar Falta*/
         unlink_faults_payslip: function(id) {
@@ -315,8 +323,6 @@
             });
             return defer;
         },
-
-
     });
 
     if (openerp.web && openerp.web.FormView) {
@@ -349,5 +355,4 @@
             }
         });
     }
-
 })();

+ 1 - 1
static/src/xml/modal_payslip_modify_faults.xml

@@ -64,7 +64,7 @@
                     </div>
                     <!-- Pie de Pagina -->
                     <div class="modal-footer payslip-footer">
-                        <button type="button" class="oe_button oe_form_button oe_link dismmis-modal" data-dismiss="modal">Cancelar</button>
+                        <button type="button" class="oe_button oe_form_button oe_link dismmis-modal" data-dismiss="modal">Salir</button>
                     </div>
                 </div>
             </div>

+ 4 - 32
views/eiru_payslip_utility.xml

@@ -1,17 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <openerp>
 	<data>
-		<record id="view_eiru_payslip_utility" model="ir.ui.view">
-			<field name="name">view.eiru.payslip.utility</field>
-			<field name="model">hr.payslip</field>
-			<field name="inherit_id" ref="hr_payroll.view_hr_payslip_form"/>
-			<field name="arch" type="xml">
-				<xpath expr="//div[@class='oe_title']"  position="before">
-					<div class="oe_right oe_button_box eiru-payslip-utility" attrs="{'invisible': [('state','!=','done')]}"></div>
-				</xpath>
-			</field>
-		</record>
-		<!-- create -->
+		<!-- create - write - unlink  Faults-->
 		<record id="view_payslip_utility_add" model="ir.ui.view">
 			<field name="name">view.payslip.utility.add</field>
 			<field name="model">hr.payslip</field>
@@ -20,28 +10,10 @@
 				<field name="worked_days_line_ids" position="before">
 					<div class="payslip-utility-add-faults" attrs="{'invisible': [('state','!=','done')]}"></div>
 				</field>
+				<xpath expr="//separator[@string='Worked Days']"  position="replace">
+					<separator string="Days not worked"/>
+				</xpath>
 			</field>
 		</record>
-		<!-- Lista -->
-		<!-- <record id="view_payslip_faults_tree" model="ir.ui.view">
-			<field name="name">view.payslip.faults.tree</field>
-			<field name="model">hr.payslip</field>
-			<field name="inherit_id" ref="hr_payroll.view_hr_payslip_form"/>
-			<field name="arch" type="xml">
-				<field name="worked_days_line_ids" position="replace">
-					<field name="worked_days_line_ids" class="">
-						<tree string="Worked Days" editable="bottom">
-							<field name="name"/>
-							<field name="code"/>
-							<field name="number_of_days" sum="Total Working Days"/>
-							<field name="number_of_hours"/>
-							<field name="contract_id" invisible="True"/>
-							<field name="sequence" invisible="True"/>
-						</tree>
-					</field>
-				</field>
-
-			</field>
-		</record> -->
 	</data>
 </openerp>