adrielso 6 лет назад
Родитель
Сommit
128a40e5b1

+ 6 - 3
models/account_bank_statement_config.py

@@ -6,6 +6,7 @@ class accountBankStatementConfig(models.Model):
 
     name = fields.Char('Name', required=True, default="Configuración Cajas")
     active = fields.Boolean('Active', default=True)
+
     ## Forma de Importar Pagso en caja Ventas/compras/RRHH
     import_statement_payments = fields.Selection([('automatic_import', 'Automático'),('manual_import','Manual')],'Importar pagos en caja',default='automatic_import',help='Tipo de importar los pago en caja', required=True)
     import_statement_payslip = fields.Selection([('automatic_import', 'Automático'),('manual_import','Manual')],'Importar pagos de RRHH en caja',default='automatic_import',help='Tipo de importar los pago en caja', required=True)
@@ -35,10 +36,10 @@ class accountBankStatementConfig(models.Model):
     statement_confirm_transfer_user = fields.Many2many('res.users', 'statement_config_confirm_transfer_user', 'account_bank_statement_config_id', 'res_users_id', string='Usuario permitido para realizar transferencia')
     statement_confirm_balance = fields.Many2many('res.users', 'statement_config_confirm_balance', 'account_bank_statement_config_id', 'res_users_id', string='Usuario permitido para ajuste de cierre')
     statement_confirm_negative_amount = fields.Many2many('res.users', 'statement_confirm_negative_amount', 'account_bank_statement_config_id', 'res_users_id', string='Usuario permitido para cerrar caja sin saldo ')
-
     ## statement Cancel
-    statement_cancel_user = fields.Many2many('res.users', 'statement_config_cancel_user', 'account_bank_statement_config_id', 'res_users_id', string='Usuario permitido para cancelar Caja')
-
+    statement_cancel_user = fields.Many2many('res.users', 'statement_config_cancel_user', 'account_bank_statement_config_id', 'res_users_id', string='Usuarios permitidos para cancelar Cajas')
+    ## Statement Unlink
+    statement_unlink_user = fields.Many2many('res.users', 'statement_config_unlink_user', 'account_bank_statement_config_id', 'res_users_id', string='Usuarios permitidos para Eliminar Cajas')
 
     '''
     ### Configuración de caja. ###
@@ -76,4 +77,6 @@ class accountBankStatementConfig(models.Model):
     ## statement Cancel (Cancelar caja). ##
         :fields statement_cancel_user       : Usuario permitido a cancelar caja.
 
+    ## statement Unlink (Eliminar caja). ##
+        :fields statement_unlink_user       : Usuarios permitidos a eliminar cajas.
     '''

+ 40 - 27
static/src/js/eiru_statement_unlink.js

@@ -58,29 +58,27 @@
                 return bankStatement;
             }).then(function(bankStatement) {
                 self.bankStatement = bankStatement;
-
-        //         return self.fetchGetUserLogin();
-        //     }).then(function(resUser){
-        //         self.resUser = resUser;
-        //         return self.fetchStatementConfigTransfer();
-        //     }).then(function(statementConfig){
-        //         self.statementConfig = statementConfig;
-        //         /* Verificar el usuario */
-        //         if (!self.resUser.length){
-        //             instanceWeb.notification.do_warn("Atencion", "No estas autorizado a realizar esta operación.");
-        //             return  false;
-        //         }
-        //         /* Verificar si existe configuracion */
-        //         if (!self.statementConfig.length){
-        //             instanceWeb.notification.do_warn("Atencion", "No estas autorizado a realizar esta operación, no existe configuración de caja.");
-        //             return  false;
-        //         }
-        //         /* Verificar si el usuario tiene autorización para cerrar la caja */
-        //         if (!(_.contains(self.statementConfig[0].statement_cancel_user, self.resUser[0].id))){
-        //             instanceWeb.notification.do_warn("Atencion", "El usuario no tiene autorización para cancelar la caja.");
-        //             return false;
-        //         }
-
+                return self.fetchGetUserLogin();
+            }).then(function(resUser){
+                self.resUser = resUser;
+                return self.fetchStatementConfigTransfer();
+            }).then(function(statementConfig){
+                self.statementConfig = statementConfig;
+                /* Verificar el usuario */
+                if (!self.resUser.length){
+                    instanceWeb.notification.do_warn("Atencion", "No estas autorizado a realizar esta operación.");
+                    return  false;
+                }
+                /* Verificar si existe configuracion */
+                if (!self.statementConfig.length){
+                    instanceWeb.notification.do_warn("Atencion", "No estas autorizado a realizar esta operación, no existe configuración de caja.");
+                    return  false;
+                }
+                /* Verificar si el usuario tiene autorización para cerrar la caja */
+                if (!(_.contains(self.statementConfig[0].statement_unlink_user, self.resUser[0].id))){
+                    instanceWeb.notification.do_warn("Atencion", "El usuario no tiene autorización para eliminar caja.");
+                    return false;
+                }
                 return self.showModal();
             });
         },
@@ -91,6 +89,20 @@
                 context: new instanceWeb.CompoundContext()
             });
         },
+        /*Get User*/
+        fetchGetUserLogin: function(){
+            var bankStatementUser = new instanceWeb.Model('account.bank.statement');
+            return bankStatementUser.call('eiru_transfers_get_user', {
+                context: new instanceWeb.CompoundContext()
+            });
+        },
+        /* statement Config */
+        fetchStatementConfigTransfer: function() {
+            var fields = ['id','name','statement_unlink_user'];
+            var domain = [['active', '=', true]];
+            var statementConfig = new openerp.web.Model('account.bank.statement.config');
+            return statementConfig.query(fields).filter(domain).all();
+        },
         /* Get state  Object*/
         getStatementState: function(statement, state){
             return _.filter(statement,function(item){
@@ -150,9 +162,6 @@
             var table = $('.expired-account-modal').find('.table-tbody').find('tr');
             var buttonSave = $('.expired-account-modal').find('.button-save');
 
-            if (!lineStatement.length)
-                $('.expired-account-modal').find('.statement-line').css('display', 'none');
-
             _.each(table, function(tr) {
                 var idLine  = (($(tr).children()[0]).textContent).trim();
                 var stateStatement = self.getStateTransfer(lineStatement, parseInt(idLine));
@@ -172,6 +181,11 @@
                 lineMessege.css('display','flex');
                 lineMessege.text("Existe "+stateStatement.length+" caja relacionada que ya están cerrada.");
 
+
+            if (!lineStatement.length)
+                $('.expired-account-modal').find('.statement-line').css('display', 'none');
+                lineMessege.css('display','flex');
+                lineMessege.text("No existe movimiento en la caja seleccionada.");
             /*Click buttonSave*/
             buttonSave.click(function(e) {
                 stateStatement = self.getStatementState(lineStatement, 'confirm');
@@ -180,7 +194,6 @@
                     return false;
                 }
 
-
                 self.unlinkStatement(self.id).then(function(resultsUnlink) {
                     return resultsUnlink;
                 }).then(function(resultsUnlink) {

+ 1 - 1
static/src/xml/modal/modal_statement_unlink.xml

@@ -11,7 +11,7 @@
                     <!-- Body -->
                     <div class="modal-body">
                         <div class="row statement-line">
-                            <label class="confirm-title" style="padding-left: 30px">Movimiento</label>
+                            <label class="confirm-title" style="padding-left: 30px"> Movimiento </label>
                         </div>
                         <!-- table -->
                         <div class=" oe_view_manager_body unlink-statement-table statement-line">

+ 10 - 0
views/account_bank_statemente_config.xml

@@ -163,6 +163,16 @@
 
                                     </group>
                                 </page>
+                                <page string="Eliminar Caja">
+                                    <separator string="Permite configurar si el usuario podrá eliminar las cajas." style="font-size: 12pt"/>
+                                    <group col="2">
+                                        <group string="Permitir eliminar cajas.">
+                                            <label for="statement_unlink_user" string="Usuarios permitidos" style="width: 200px"></label>
+                                            <field name="statement_unlink_user" class="oe_inline"  widget="many2many_tags" options="{'no_create': True}" nolabel="1"/>
+                                        </group>
+
+                                    </group>
+                                </page>
                             </notebook>
                         </page>