32 lines
1.2 KiB
Python
32 lines
1.2 KiB
Python
from odoo import http, _
|
|
from odoo.http import route, request
|
|
|
|
|
|
class DonationRequestsApi(http.Controller):
|
|
|
|
@route('/campaigns/get', auth='user', type='json', website=True)
|
|
def get_all_donation_requests(self):
|
|
try:
|
|
data = request.env['donation.request'].search_read([('user_id', '=', request.env.user.id)], fields=[
|
|
'id',
|
|
'name',
|
|
'website_url',
|
|
'stage_name',
|
|
'create_date',
|
|
'remaining_amount',
|
|
'done_percentage',
|
|
])
|
|
# TODO: remove in production
|
|
for rec in data:
|
|
rec['image_url'] = f'/web/image?model=donation.request&field=image_1920&id={rec["id"]}'
|
|
return data
|
|
except Exception as e:
|
|
return {
|
|
'error': str(e)
|
|
}
|
|
|
|
@route('/campaigns/request', auth='user', type='http', website=True, methods=['GET'])
|
|
def campaign_request(self):
|
|
categories = request.env['product.public.category'].sudo().search_read([('available_in_donation_request', '=', True)], fields=['id', 'name', 'minimum_request_amount'])
|
|
return request.render('template_to_be_implemented.', {'categories': categories})
|