Explorar el Código

[FIX] Eliminar entrada/salida

adrielso hace 6 años
padre
commit
eac568ab69

+ 21 - 23
controllers/account_bank_statement_line.py

@@ -42,6 +42,8 @@ def modify_statement_line(value):
     ''' DELETED '''
     from cashbox_transfer import verify_transfer, writer_cashbox_transfer
     from server_datetime import get_date
+    from cashbox_input import verify_casboxin, writer_casboIn
+    from cashbox_output import verify_casbox_out,writer_casboOut
 
     messageDelet = ""
     messageWrite = ""
@@ -56,43 +58,39 @@ def modify_statement_line(value):
                 if (transfer['statementConfirm']):
                     messageDelet += "No se puede eliminar la linea (%s), Obs. (%s)" %(line.name, transfer['messageConfirm'])
                     continue
+
+                statementName = line.statement_id.name
                 ## Unlink Lines input
                 unlink_statement_line(transfer['inputLine'])
                 ## Unlink Lines output
                 unlink_statement_line(transfer['outputLine'])
                 ## Writer Transfer
                 transferWriter = {
-                    'message_deleted': "Transferencia eliminada por %s en %s ,caja %s" %((request.env.user.name), get_date(), line.statement_id.name),
+                    'message_deleted': "Transferencia eliminada por %s en %s ,caja %s" %((request.env.user.name), get_date(), statementName),
                     'active': False,
                     'write_uid': request.env.user.id
                 }
                 writer_cashbox_transfer(transfer['transferId'],transferWriter)
+            else :
+                inputOutput= {
+                    'message_deleted': "Operacion eliminada por %s en %s caja %s" %(request.env.user.name,get_date(),line.statement_id.name),
+                    'active': False
+                }
 
-            ## line Input
-
-            ## line Output
-
-            ## line Normal
-
-                # if(line.is_deleted):
-                #     lineWrite={'is_deleted': False}
-                #     write_statement_line(line,lineWrite)
-                #
-                # unlink_statement_line(line)
+                ## line Input
+                inputCasbox = verify_casboxin(line.id)
+                outPutCasbox= verify_casbox_out(line.id)
 
-    # import web_pdb; web_pdb.set_trace()
+                # writer Input
+                if(inputCasbox):
+                    writer_casboIn(inputCasbox.id, inputOutput)
 
-            # if(line.is_deleted):
-            #     lineWrite={'is_deleted': False}
-            #     write_statement_line(line,lineWrite)
-            #
-            # unlink_statement_line(line)
+                ## Writer outPut
+                if(outPutCasbox):
+                    writer_casboOut(outPutCasbox.id, inputOutput)
 
-            # 'transferId'
-            # 'statementConfirm'
-            # 'messageConfirm'
-            # 'inputLine'
-            # 'outputLine'
+                ## Unlink Line
+                unlink_statement_line(line.id)
 
     ''' UPDATE '''
     if (value['lineUpdate']):

+ 8 - 0
controllers/cashbox_input.py

@@ -3,6 +3,14 @@ from openerp.http import request
 
 _MODEL='cash.box.in'
 
+def verify_casboxin(lineId):
+    return request.env[_MODEL].search([('line_id.id', '=', lineId)])
+
+def writer_casboIn(id, value):
+    input = request.env[_MODEL].browse(id)
+    if (not input):
+        return False
+    return input.sudo().write(value)
 
 def create_cashbox_input(data):
     from account_bank_statement import search_account_bank_statement

+ 8 - 0
controllers/cashbox_output.py

@@ -3,6 +3,14 @@ from openerp.http import request
 
 _MODEL='cash.box.out'
 
+def verify_casbox_out(lineId):
+    return request.env[_MODEL].search([('line_id.id', '=', lineId)])
+
+def writer_casboOut(id, value):
+    outPut = request.env[_MODEL].browse(id)
+    if (not outPut):
+        return False
+    return outPut.sudo().write(value)
 
 def create_cashbox_output(data):
     from account_bank_statement import search_account_bank_statement

+ 0 - 127
controllers/cashbox_transfer.py

@@ -3,7 +3,6 @@ from openerp.http import request
 
 _MODEL = 'cash.box.transfer'
 
-
 def create_cashbox_transfer(data):
     from account_bank_statement import search_account_bank_statement
     from account_bank_statement_line import create_statement_line
@@ -74,7 +73,6 @@ def create_cashbox_transfer(data):
 
     return result
 
-
 ''' Verify trasnfer for line'''
 def verify_transfer(line):
     transfer = request.env[_MODEL].search(['|',('input_line.id','=',line),('output_line.id','=',line)])
@@ -106,128 +104,3 @@ def writer_cashbox_transfer(id, value):
         return False
 
     return transfer.sudo().write(value)
-
-'''
-          # _   _       _ _       _      _____                     __
-         # | | | |_ __ | (_)_ __ | | __ |_   _| __ __ _ _ __  ___ / _| ___ _ __
-         # | | | | '_ \| | | '_ \| |/ /   | || '__/ _` | '_ \/ __| |_ / _ \ '__|
-         # | |_| | | | | | | | | |   <    | || | | (_| | | | \__ \  _|  __/ |
-          # \___/|_| |_|_|_|_| |_|_|\_\   |_||_|  \__,_|_| |_|___/_|  \___|_|
-        # Get Cash Box Transfer
-    def _get_cash_box_transfer(self, id):
-        return self.env['cash.box.transfer'].browse(id)
-
-        # Get timezone
-    def get_timezone(self):
-        tz_name = self._context.get('tz') or self.env.user.tz
-        return timezone(tz_name)
-
-        # Get server date
-    def get_server_datetime(self):
-        return datetime.now(self.get_timezone()).strftime(DATE_FORMAT)
-
-        # Get Statement Line
-    def _get_statement_Line(self, id):
-        return self.env['account.bank.statement.line'].browse(id)
-
-        # writer Line Statement
-    def _write_statement_line_transfer(self, line):
-        return line.write({
-            'is_deleted': False
-        })
-
-        # Unlink Line Statement
-    def _unlink_statement_line_transfer(self, line):
-        return line.unlink()
-
-        # Write cash box transfer
-    def _write_cash_box_transfer(self, casbox, message, user):
-        return casbox.write({
-            'message_deleted': message,
-            'active': False,
-            'write_uid': user.id
-        })
-
-    #    unlink Initial
-    @api.model
-    def unlink_transfer(self, values):
-        ### user
-        user = self.env.user
-        ### date server
-        date_server = self.get_server_datetime()
-        ### account Statement
-        statement = self._get_statement_transfer(values['statementId'])
-        if (not statement):
-            return {
-                'state' : False,
-                'message': "No se pudo completar la operación."
-            }
-
-        ### Transferencia
-        cashBoxTransfer =  self._get_cash_box_transfer(values['transferId'])
-        if (not cashBoxTransfer):
-            return {
-                'state' : False,
-                'message': "No se pudo completar la operación."
-            }
-
-        ### Line output
-        lineOutput = self._get_statement_Line(cashBoxTransfer.output_line.id)
-        if (not lineOutput):
-            return {
-                'state' : False,
-                'message': "No se pudo completar la operación."
-            }
-
-        if (lineOutput.statement_id.state == 'confirm'):
-            return {
-                'state' : False,
-                'message': "No se pudo completar la operación, por que la caja de origen ya fue cerrada"
-            }
-
-        ### Line Input
-        lineInput = self._get_statement_Line(cashBoxTransfer.input_line.id)
-        if (not lineInput):
-            return {
-                'state' : False,
-                'message': "No se pudo completar la operación."
-            }
-
-        if (lineInput.statement_id.state == 'confirm'):
-            return {
-                'state' : False,
-                'message': "No se pudo completar la operación por que la caja destino ya fue cerrada"
-            }
-
-        ## updtae
-        writeOutput = self._write_statement_line_transfer(lineOutput)
-        ## unlink
-        unlinkOutpu = self._unlink_statement_line_transfer(lineOutput)
-        if (not unlinkOutpu):
-            return {
-                'state' : False,
-                'message': "No se pudo completar la operación, error al eliminar la transferencia"
-            }
-        ## Update
-        writeInput = self._write_statement_line_transfer(lineInput)
-        ## Unlink
-        unlinkInput = self._unlink_statement_line_transfer(lineInput)
-        if (not unlinkInput):
-            return {
-                'state' : False,
-                'message': "No se pudo completar la operación, error al eliminar la transferencia"
-            }
-
-        message = values['comment']+" \nEliminado por la caja "+str(statement.name)+" y por Usuario "+str(user.name)+" en "+str(date_server)
-
-        writeTransfer = self._write_cash_box_transfer(cashBoxTransfer, message, user)
-        if (not writeTransfer):
-            return {
-                'state' : False,
-                'message': "No se pudo completar la operación"
-            }
-
-        return { 'state': True,
-                'message': 'Operación realizada con éxito'
-        }
-'''