Ver código fonte

[FIX] Simplificación en el procesos de generar las nominas

adrielso 6 anos atrás
pai
commit
3eb0fb4185

+ 0 - 1
.gitignore

@@ -1,2 +1 @@
 *.pyc
-.scannerwork

+ 0 - 5
sonar-project.properties

@@ -1,5 +0,0 @@
-sonar.projectKey=eiru:payslip:generator
-sonar.projectName=eiru_payslip_generator
-sonar.projectVersion=1.0
-sonar.sources=.
-sonar.javascript.globals=openerp

+ 2 - 2
static/src/css/style.css

@@ -1,4 +1,4 @@
 .eiru-payslip-generator {
-    width: auto !important;
-    height: auto !important;
+    width: auto;
+    float: left;
 }

+ 15 - 16
static/src/js/payslip_generator.js

@@ -6,11 +6,12 @@ openerp.eiru_payslip_generator = function(instance, local) {
     local.PayslipGeneratorWidget = instance.Widget.extend({
         template: 'eiru_payslip_generator.PayslipWidget',
         id: undefined,
-
+        /* Init */
         init: function(parent) {
             this._super(parent);
             this.buttons = parent.$buttons;
         },
+        /* start */
         start: function() {
             var self = this;
             this.$el.click(function() {
@@ -31,35 +32,34 @@ openerp.eiru_payslip_generator = function(instance, local) {
                     self.$el.css('display','flex');
             });
         },
+        /* Update ID Hr run*/
         updateId: function(id) {
             var self = this;
             self.id = id;
+            if (!self.id)
+                self.$el.css('display','none');
         },
-
+        /* Funtion init*/
         fectchInitial: function() {
             var self = this;
 
-            self.$el.find('.eiru-generador').attr("disabled", true);
+            self.$el.attr("disabled", true);
             self.fectchGenerateNomina().then(function(payslip) {
                 return payslip;
             }).then(function(payslip) {
                 local.parentInstance.reload();
                 if (!payslip)
                     instance.web.notification.do_warn("Atención","No existe nomina para ser generada, en el periodo seleccionado")
-                self.$el.find('.eiru-generador').removeAttr("disabled");
+                self.$el.removeAttr("disabled");
             })
         },
+        /* Generate  Payslip */
         fectchGenerateNomina: function() {
             var self = this;
-            var defer = $.Deferred();
             var hr_payslip = new instance.web.Model('hr.payslip');
-
-            hr_payslip.call('generate_payroll_eiru',[self.id], {
+            return hr_payslip.call('generate_payroll_eiru',[self.id], {
                 context: new instance.web.CompoundContext()
-            }).then(function(results) {
-                defer.resolve(results);
             });
-            return defer;
         },
     });
 
@@ -72,18 +72,17 @@ openerp.eiru_payslip_generator = function(instance, local) {
                     return;
 
                 local.parentInstance = this;
-
-                if (local.widgetInstance) {
+                if (local.widgetInstance){
                     local.widgetInstance.updateId(record.id);
+                    if (this.$el.find('.eiru-generador').length !== 0 )
+                        return
                 }
 
-                if (this.$el.find('.eiru-payslip').length !== 0 )
+                if (this.$el.find('.eiru-generador').length !== 0 )
                     return;
 
                 local.widgetInstance = new local.PayslipGeneratorWidget(this);
-
-                var elemento = this.$el.find('.oe_form_sheet.oe_form_sheet_width');
-                elemento = elemento.find('.oe_right.oe_button_box.eiru-payslip-generator');
+                var elemento = this.$el.find('.oe_form').find('.eiru-payslip-generator');
 
                 local.widgetInstance.appendTo(elemento);
                 local.widgetInstance.updateId(record.id);

+ 3 - 6
static/src/xml/eiru_payslip_generator.xml

@@ -2,11 +2,8 @@
 
 <templates xml:space="preserve">
     <t t-name="eiru_payslip_generator.PayslipWidget">
-        <div class="eiru-payslip">
-            <button class="eiru-generador oe_stat_button btn btn-default oe_inline">
-                <div class="stat_button_icon fa fa-cogs"></div>
-                <div>Generar Nómina</div>
-            </button>
-        </div>
+        <button class="eiru-generador oe_button oe_form_button oe_highlight">
+            <div>Generar Nómina</div>
+        </button>
   </t>
 </templates>

+ 7 - 3
view/payslip_generator.xml

@@ -6,9 +6,13 @@
             <field name="model">hr.payslip.run</field>
             <field name="inherit_id" ref="hr_payroll.hr_payslip_run_form"/>
             <field name="arch" type="xml">
-                <label for="name" position="before">
-                    <div class="oe_right oe_button_box eiru-payslip-generator" attrs="{'invisible': [('state','!=','draft')]}"></div>
-                </label>
+				<xpath expr="//header" position="replace">
+					<header>
+						<div class="eiru-payslip-generator" attrs="{'invisible': [('state','!=','draft')]}"></div>
+				  		<field name="state" widget="statusbar"/>
+			  		</header>
+				</xpath>
+				<field name="credit_note" position="replace"></field>
             </field>
         </record>
 	</data>