|
@@ -0,0 +1,156 @@
|
|
|
+(function() {
|
|
|
+
|
|
|
+ openerp.widgetInstanceStatementTransfer = null;
|
|
|
+ openerp.parentInstanceStatementTransfer = {};
|
|
|
+ var QWeb = openerp.web.qweb;
|
|
|
+ var instanceWeb = openerp.web;
|
|
|
+ // StatementTransfer
|
|
|
+ openerp.EiruStatementTransfer = openerp.Widget.extend({
|
|
|
+ template: 'EiruStatementUtility.Transfer',
|
|
|
+ id: undefined,
|
|
|
+ buttons: undefined,
|
|
|
+ bankStatement: [],
|
|
|
+ accountStatement: [],
|
|
|
+ /* init */
|
|
|
+ init: function(parent) {
|
|
|
+ this._super(parent);
|
|
|
+ this.buttons = parent.$buttons;
|
|
|
+ },
|
|
|
+ /* start */
|
|
|
+ start: function () {
|
|
|
+ var self = this;
|
|
|
+ this.$el.click(function(){
|
|
|
+ self.fetchInitial();
|
|
|
+ });
|
|
|
+ self.buttons.click(function(e) {
|
|
|
+ /* C (Crear) */
|
|
|
+ if (e.target.accessKey === 'C')
|
|
|
+ self.$el.css('display','none');
|
|
|
+ /* E (Editar) */
|
|
|
+ if (e.target.accessKey === 'E')
|
|
|
+ self.$el.css('display','none');
|
|
|
+ /* S (Guarrdar) */
|
|
|
+ if (e.target.accessKey === 'S')
|
|
|
+ self.$el.css('display','flex');
|
|
|
+ /* D (Cancelar) */
|
|
|
+ if (e.target.accessKey === 'D')
|
|
|
+ self.$el.css('display','flex');
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /* Actualizar Id de la visat actual */
|
|
|
+ updateId: function(id) {
|
|
|
+ var self = this;
|
|
|
+ self.id = id;
|
|
|
+ },
|
|
|
+ /* Reload Page*/
|
|
|
+ reloadPage: function() {
|
|
|
+ openerp.parentInstanceStatementTransfer.reload();
|
|
|
+ },
|
|
|
+ /* Description: Función para remover el modal */
|
|
|
+ removeModal: function() {
|
|
|
+ $('.expired-account-modal').remove();
|
|
|
+ $('.modal-backdrop').remove();
|
|
|
+ },
|
|
|
+ /* Método inicial */
|
|
|
+ fetchInitial: function() {
|
|
|
+ var self = this;
|
|
|
+ self.fetchBankStatement(self.id).then(function(bankStatement){
|
|
|
+ return bankStatement;
|
|
|
+ }).then(function(bankStatement){
|
|
|
+ self.bankStatement = bankStatement;
|
|
|
+ return self.fetchAccountBankStatement();
|
|
|
+ }).then(function(accountStatement){
|
|
|
+ self.accountStatement = accountStatement;
|
|
|
+ return self.showModalTransfer();
|
|
|
+ });
|
|
|
+
|
|
|
+ },
|
|
|
+ /* Account bank Statement */
|
|
|
+ fetchBankStatement: function(id) {
|
|
|
+ var invoiceMoveLine = new instanceWeb.Model('account.bank.statement');
|
|
|
+ return invoiceMoveLine.call('get_account_bank_statement_utility',[id], {
|
|
|
+ context: new instanceWeb.CompoundContext()
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ fetchAccountBankStatement() {
|
|
|
+ var self = this;
|
|
|
+ var statement = self.bankStatement[0];
|
|
|
+
|
|
|
+ if (!statement)
|
|
|
+ return false;
|
|
|
+
|
|
|
+ var fields = ['id','journal_id','date','period_id','type_statement','user_id', 'name'];
|
|
|
+ var domain = [['id', '!=', statement.id],['journal_id', '=', statement.journalId],['date', '=', statement.date],['period_id', '=', statement.periodId]];
|
|
|
+ var statementBank = new instanceWeb.Model('account.bank.statement');
|
|
|
+ return statementBank.query(fields).filter(domain).all();
|
|
|
+ },
|
|
|
+
|
|
|
+ // id
|
|
|
+ // name
|
|
|
+ // date
|
|
|
+ // journalId
|
|
|
+ // periodId
|
|
|
+ // userId
|
|
|
+ // userName
|
|
|
+ // posSessionName
|
|
|
+ // typeStatement
|
|
|
+ // amount
|
|
|
+
|
|
|
+ /*Modal Transfer */
|
|
|
+ showModalTransfer: function() {
|
|
|
+ var self = this;
|
|
|
+ var defer =$.Deferred();
|
|
|
+ var results = true;
|
|
|
+
|
|
|
+ var modal = QWeb.render('ModalStatementUtility.Transfer',{
|
|
|
+ 'journal': [],
|
|
|
+ 'statement': self.accountStatement,
|
|
|
+ });
|
|
|
+
|
|
|
+ $('.openerp_webclient_container').after(modal);
|
|
|
+ $('.expired-account-modal').modal();
|
|
|
+
|
|
|
+ /* Click Cerrar */
|
|
|
+ $('.expired-account-modal').on('hidden.bs.modal', function(e) {
|
|
|
+ results = false;
|
|
|
+ defer.resolve(results);
|
|
|
+ self.removeModal(e);
|
|
|
+ });
|
|
|
+
|
|
|
+ var statementAmount = $('.expired-account-modal').find('.statement-amount')
|
|
|
+
|
|
|
+
|
|
|
+ statementAmount.val(self.bankStatement[0].amount)
|
|
|
+ return defer;
|
|
|
+ },
|
|
|
+ });
|
|
|
+
|
|
|
+ if (openerp.web && openerp.web.FormView) {
|
|
|
+ openerp.web.FormView.include({
|
|
|
+ load_record: function(record) {
|
|
|
+ this._super.apply(this, arguments);
|
|
|
+
|
|
|
+ if (this.model !== 'account.bank.statement')
|
|
|
+ return;
|
|
|
+
|
|
|
+ openerp.parentInstanceStatementTransfer = this;
|
|
|
+
|
|
|
+ if (openerp.widgetInstanceStatementTransfer) {
|
|
|
+ openerp.widgetInstanceStatementTransfer.updateId(record.id);
|
|
|
+ if (this.$el.find('.button-statement-transfer').length !== 0 )
|
|
|
+ return ;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (this.$el.find('.button-statement-transfer').length !== 0 )
|
|
|
+ return;
|
|
|
+
|
|
|
+ openerp.widgetInstanceStatementTransfer = new openerp.EiruStatementTransfer(this);
|
|
|
+ var element =this.$el.find('.oe_form').find('.eiru-statement-utility');
|
|
|
+
|
|
|
+ openerp.widgetInstanceStatementTransfer.appendTo(element[0]);
|
|
|
+ openerp.widgetInstanceStatementTransfer.updateId(record.id);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+})();
|