Skip to Content
Menu
This question has been flagged
1 Reply
5408 Views

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
Discard
Best Answer

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
Discard
Related Posts Replies Views Activity
0
Nov 21
1660
4
Aug 20
8260
1
Sep 23
3820
1
Jun 23
1697
1
Apr 16
4662