Ir al contenido
Menú
Se marcó esta pregunta
1 Responder
6511 Vistas

Hello my Friends!!

I am creating a specific portal.

So that i have to edit fields of a model.

In the Xml File i have created my form and in the controller i have specified the route called. Now i need to get the values written by the user.

Here what i have tried but not working.

XML:

 <template id="apply">

<t t-call="website.layout">

<t t-set="additional_title">Create Payment</t>

<div id="wrap" class="container">

<div class="row">

<div class="col-sm-6">

<ol class="breadcrumb mt8">

<li><a href="/test/residence"><i class="fa fa-home"/></a></li>

<li>Save</li>

</ol>

</div>

</div>

<h1 class="text-center">

Save Payment

</h1>

<h2 t-if="invoice" class="text-center text-muted">

<span t-field="invoice.name"/>

</h2>

<form t-att-action="'/test/valid_payment/'+str(widget['invoice_id'])" method="post" data-model_name="account.invoice">

<input type="hidden" name="csrf_token" t-att-value="request.csrf_token()"/>

<div class="row o_website_portal_details">

<div class="col-md-8">

<div class="row">

<div class="form-group form-field o_website_form_required_custom">

<div class="col-md-3 col-sm-4 text-right">

<label class="control-label" for="journal_id">Your Journal</label>

</div>

<div class="col-md-7 col-sm-8">

<select name="journal_id" class="form-control">

<t t-foreach="widget['journal']" t-as="journal">

<option t-esc="journal.name"/>

</t>

</select>

</div>

</div>

<div class="form-group form-field o_website_form_required_custom">

<div class="col-md-3 col-sm-4 text-right">

<label class="control-label" for="payment_date">Payment Date</label>

</div>

</div>

<div class="form-group form-field o_website_form_custom">

<div class="col-md-3 col-sm-4 text-right">

<label class="control-label" for="amount">Amount</label>

</div>

<div class="col-md-7 col-sm-8">

<input type="email" class="form-control o_website_form_input" name="amount" required="" t-att-value="widget['payment_amount']"/>

</div>

</div>

<div class="form-group form-field o_website_form_custom">

<div class="col-md-3 col-sm-4 text-right">

<label class="control-label" for="comunication">Communication</label>

</div>

<div class="col-md-7 col-sm-8">

<input type="email" class="form-control o_website_form_input" name="comunication" required="" t-att-value="widget['number']"/>

</div>

</div>

<div class="form-group">

<div class="col-md-offset-3 col-sm-offset-4 col-sm-8 col-md-7">

<a t-att-href="'/test/valid_payment/'+str(widget['invoice_id'])" class="btn btn-primary btn-lg o_website_form_send">Pay</a>

<span id="o_website_form_result"></span>

</div>

</div>

</div>

</div>

</div>

</form>

</div>

</t>

</template> 


Python Controller:

 @http.route('/test/valid_payment/<int:invoice_id>', type='http', auth="user", website=True)

def valid_payment_invoice_resident(self,invoice_id=None, **post):

w_obj = {}

_logger.debug('Incoming data: %s', post) post is empty!!!!!!

InvoiceData = request.env['account.invoice'].browse([invoice_id])

invoice_ids = request.env['account.invoice'].search([('id', '=', invoice_id)])

_logger.info(invoice_ids)

payment = request.env['account.payment'].create({

'payment_date': u'2018-01-25',

'communication': u'FAC/2018/0002',

'payment_difference_handling': u'open',

'journal_id': 11,

'currency_id': 1,

'partner_type': u'customer',

'amount': 35,

'writeoff_account_id': False,

'payment_type': u'inbound',

'payment_token_id': False,

'partner_id': 17,

'payment_method_id': 1

})

request.env['account.payment'].post()

request.env['account.payment']._create_payment_entry(35)

w_obj = {

'invoice_id': invoice_id,

}

return request.render("luxus_portal.confirmation", {'widget' : w_obj})

Avatar
Descartar
Mejor respuesta

You should submit the form to get the form values, so either you have to submit manually using js or use the Submit button itself.

Here is an example of form and submit https://www.w3schools.com/html/tryit.asp?filename=tryhtml_form_submit

Avatar
Descartar
Publicaciones relacionadas Respuestas Vistas Actividad
0
nov 21
2459
4
ago 20
9159
1
sept 23
5110
1
jun 23
2806
1
abr 16
5609