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})