165 lines
11 KiB
Python
165 lines
11 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
import os
|
|
import os.path
|
|
import base64
|
|
|
|
import logging
|
|
import werkzeug
|
|
import json
|
|
from odoo.http import request,Controller, route
|
|
from werkzeug.wrappers import Response
|
|
|
|
_logger = logging.getLogger(__name__)
|
|
|
|
class WebContractsInput(Controller):
|
|
@route(['/eingabe'],type='http', auth='user', website=True, csrf=False)
|
|
def web_form(self, **kwargs):
|
|
_logger.info("inside: start web_form")
|
|
return request.render("website.eingabe-phase1")
|
|
|
|
@route(['/eingabe/start'],type='http', auth='user', website=True, csrf=False)
|
|
def changeScreenView(self, **kwargs):
|
|
_logger.info("inside: start changeScreenTemplateView" + str(request.params)+' --'+str(kwargs)+' --'+str(request.httprequest.data))
|
|
name = kwargs.get('websideusername')
|
|
user_id = kwargs.get('websideuserid')
|
|
projekt_id = kwargs.get('project')
|
|
project = request.env['dss.projects'].search([('id','=',int(projekt_id))],limit=1)
|
|
project.reservedkdnr=str(project.reservedkdnr)+';'+str(project.lastkdnr+1)
|
|
project.lastkdnr=project.lastkdnr+1
|
|
tempid = str(project.projectid) + str(user_id).zfill(2) + str(project.lastkdnr).zfill(2)
|
|
tempname = tempid + '_Vertrag'
|
|
contract_name = str(tempid)+' - Vertrag ' + str(project.lastkdnr).zfill(2)
|
|
contract_id = str(project.projectid) + str(project.lastrealkdnr).zfill(2)
|
|
new_contract = request.env['dss.contracts'].create({'project_id':project.projectid,'project':project.id,'client_id':str(project.lastkdnr).zfill(2),'contract_auto_id':str(tempid),'contract_auto_name':str(tempname),'contract_state':39,'contract_name':contract_name})
|
|
contract_data_id=new_contract.id
|
|
_logger.info("inside: "+str(name)+'--'+str(projekt_id))
|
|
return request.render("website."+project.grundsystem_webinput_template,{'websideusername':name,'user_id':str(user_id),'projectid':str(project.projectid),'project':str(projekt_id),'contract_id':str(contract_id),'kd_id':str(str(project.lastrealkdnr).zfill(2)),'contract_data_id':str(contract_data_id)})
|
|
|
|
@route(['/eingabe/submit_lcdtouch'],type='http', auth='user', website=True, csrf=False)
|
|
def submit_lcdtouch(self, **kwargs):
|
|
_logger.info("inside: start changeScreenTemplateView" + str(request.params)+' --'+str(kwargs)+' --'+str(request.httprequest.data))
|
|
name = kwargs.get('websideusername')
|
|
projekt_id = kwargs.get('project')
|
|
projectid = kwargs.get('projectid')
|
|
user_id = kwargs.get('user_id')
|
|
contract_id = kwargs.get('contract_id')
|
|
kd_id = kwargs.get('kd_id')
|
|
contract_data_id = kwargs.get('contract_data_id')
|
|
_logger.info("inside: "+str(name)+'--'+str(projekt_id)+'--'+str(kd_id)+'--'+str(contract_id)+'--'+str(contract_data_id))
|
|
return request.render("website.eingabe-phase3-upload",{'websideusername':name,'user_id':str(user_id),'projectid':str(projectid),'project':str(projekt_id),'contract_id':str(contract_id),'kd_id':str(kd_id),'contract_data_id':str(contract_data_id)})
|
|
|
|
@route(['/eingabe/submit_kfz'],type='http', auth='user', website=True, csrf=False)
|
|
def submit_kfz(self, **kwargs):
|
|
_logger.info("inside: start changeScreenTemplateView" + str(request.params)+' --'+str(kwargs)+' --'+str(request.httprequest.data))
|
|
name = kwargs.get('websideusername')
|
|
projekt_id = kwargs.get('project')
|
|
projectid = kwargs.get('projectid')
|
|
user_id = kwargs.get('user_id')
|
|
contract_id = kwargs.get('contract_id')
|
|
kd_id = kwargs.get('kd_id')
|
|
contract_data_id = kwargs.get('contract_data_id')
|
|
_logger.info("inside: "+str(name)+'--'+str(projekt_id)+'--'+str(kd_id)+'--'+str(contract_id)+'--'+str(contract_data_id))
|
|
return request.render("website.eingabe-phase3-upload",{'websideusername':name,'user_id':str(user_id),'projectid':str(projectid),'project':str(projekt_id),'contract_id':str(contract_id),'kd_id':str(kd_id),'contract_data_id':str(contract_data_id)})
|
|
|
|
@route(['/eingabe/submit_stream'],type='http', auth='user', website=True, csrf=False)
|
|
def submit_stream(self, **kwargs):
|
|
_logger.info("inside: start changeScreenTemplateView" + str(request.params)+' --'+str(kwargs)+' --'+str(request.httprequest.data))
|
|
name = kwargs.get('websideusername')
|
|
projekt_id = kwargs.get('project')
|
|
projectid = kwargs.get('projectid')
|
|
user_id = kwargs.get('user_id')
|
|
contract_id = kwargs.get('contract_id')
|
|
kd_id = kwargs.get('kd_id')
|
|
contract_data_id = kwargs.get('contract_data_id')
|
|
_logger.info("inside: "+str(name)+'--'+str(projekt_id)+'--'+str(kd_id)+'--'+str(contract_id)+'--'+str(contract_data_id))
|
|
return request.render("website.eingabe-phase3-upload",{'websideusername':name,'user_id':str(user_id),'projectid':str(projectid),'project':str(projekt_id),'contract_id':str(contract_id),'kd_id':str(kd_id),'contract_data_id':str(contract_data_id)})
|
|
|
|
@route(['/eingabe/submit_upload'],type='http', auth='user', website=True, csrf=False)
|
|
def submit_upload(self, **kwargs):
|
|
_logger.info("inside: start changeScreenTemplateView" + str(request.params)+' --'+str(kwargs)+' --'+str(request.httprequest.data))
|
|
name = kwargs.get('websideusername')
|
|
projekt_id = kwargs.get('project')
|
|
projectid = kwargs.get('projectid')
|
|
user_id = kwargs.get('user_id')
|
|
contract_id = kwargs.get('contract_id')
|
|
kd_id = kwargs.get('kd_id')
|
|
contract_data_id = kwargs.get('contract_data_id')
|
|
_logger.info("inside: "+str(name)+'--'+str(projekt_id)+'--'+str(kd_id)+'--'+str(contract_id)+'--'+str(contract_data_id))
|
|
return request.render("website.eingabe-phase4-finish",{'websideusername':name,'user_id':str(user_id),'projectid':str(projectid),'project':str(projekt_id),'contract_id':str(contract_id),'kd_id':str(kd_id),'contract_data_id':str(contract_data_id)})
|
|
|
|
@route(['/eingabe/submit_finish'],type='http', auth='user', website=True, csrf=False)
|
|
def submit_finish(self, **kwargs):
|
|
_logger.info("inside: start changeScreenTemplateView" + str(request.params)+' --'+str(kwargs)+' --'+str(request.httprequest.data))
|
|
name = kwargs.get('websideusername')
|
|
projekt_id = kwargs.get('project')
|
|
projectid = kwargs.get('projectid')
|
|
user_id = kwargs.get('user_id')
|
|
contract_id = kwargs.get('contract_id')
|
|
kd_id = kwargs.get('kd_id')
|
|
contract_data_id = kwargs.get('contract_data_id')
|
|
submit_finish = kwargs.get('submit')
|
|
_logger.info("inside finish : "+str(name)+'--'+str(projekt_id)+'--'+str(kd_id)+'--'+str(contract_id)+'--'+str(contract_data_id)+'--'+str(submit_finish))
|
|
if submit_finish == 'Eingabe beenden':
|
|
return request.render("website.eingabe-phase1")
|
|
if submit_finish == 'Neuen Vertrag im selben Projekt':
|
|
return request.render("website.eingabe-phase4-finish",{'websideusername':name,'user_id':str(user_id),'projectid':str(projectid),'project':str(projekt_id),'contract_id':str(contract_id),'kd_id':str(kd_id),'contract_data_id':str(contract_data_id)})
|
|
if submit_finish == 'Neuen Vertrag in anderen Projekt':
|
|
return request.render("website.eingabe-phase1")
|
|
|
|
|
|
@route(['/xrechnungin'],type='http', auth='public', website=True, csrf=False)
|
|
def Xrechnungask(self, **kwargs):
|
|
project = request.env['x_dss.tempkd'].search([('x_guid','=',request.params.get('token'))],limit=1)
|
|
if not project:
|
|
return request.render("website.xrechnung",{'requestid':request.params.get('token'),'errorstyle':'display:block','contentstyle':'display:none'})
|
|
else :
|
|
mobile = '' if (not project.x_mobil) or (project.x_mobil == 'False') else project.x_mobil
|
|
telefon = '' if (not project.x_telefon) or (project.x_telefon == 'False') else project.x_telefon
|
|
email = '' if (not project.x_Email) or (project.x_Email == 'False') else project.x_Email
|
|
return request.render("website.xrechnung",{'requestid':request.params.get('token'),'errorstyle':'display:none','contentstyle':'display:block','kdid':project.id,'kdnr':project.x_kdnr,'name':project.x_name,'email':email,'telefon':telefon,'mobil':mobile,'rgemail':project.x_rgemail,'leitweg':project.x_leitwegid})
|
|
|
|
@route(['/xrechnung/submit'],type='http', auth='public', website=True, csrf=False)
|
|
def Xrechnungssubmit(self, **kwargs):
|
|
_logger.info("inside: start changeScreenTemplateView" + str(request.params)+' --'+str(kwargs)+' -- #'+str(request.httprequest.data)+'#')
|
|
kunden_id = kwargs.get('kdid')
|
|
client = request.env['x_dss.tempkd'].search([('id','=',kunden_id)],limit=1)
|
|
if client:
|
|
if client.x_guid == kwargs.get('requestid'):
|
|
if client.x_kdnr == kwargs.get('kdnr'):
|
|
orgclientt=request.env['x_dss.tempkd'].search([('x_kdnr','=',client.x_kdnr)])
|
|
if kwargs.get('rgemail')=='':
|
|
orgclientt.write({'x_rgemail': kwargs.get('email')})
|
|
else:
|
|
orgclientt.write({'x_rgemail': kwargs.get('rgemail')})
|
|
orgclientt.write({'x_leitwegid': kwargs.get('leitweg')})
|
|
orgclientt.write({'x_finished': True})
|
|
# orgclient=request.env['dss.contracts'].search([('contract_auto_id','=',client.x_kdnr)])
|
|
# if orgclient:
|
|
# if kwargs.get('rgemail')=='':
|
|
# orgclient.write({'client_short_rgemail': kwargs.get('email')})
|
|
# else:
|
|
# orgclient.write({'client_short_rgemail': kwargs.get('rgemail')})
|
|
# orgclient.write({'client_short_mobil': kwargs.get('mphone')})
|
|
# orgclient.write({'client_short_leitwegid': kwargs.get('leitweg')})
|
|
# if orgclient.client_short_email != kwargs.get('email'):
|
|
# orgclient.write({'client_short_email': kwargs.get('email')})
|
|
# if orgclient.client_short_telefon != kwargs.get('phone'):
|
|
# orgclient.write({'client_short_telefon': kwargs.get('phone')})
|
|
# if orgclient.client:
|
|
# org_contact_client=orgclient.client
|
|
# org_contact_client.rgemail = orgclient.client_short_rgemail
|
|
# org_contact_client.email = orgclient.client_short_email
|
|
# org_contact_client.leitwegid = orgclient.client_short_leitwegid
|
|
# org_contact_client.mobil = orgclient.client_short_mobil
|
|
|
|
# return request.redirect('/danke-xrechnung')
|
|
# else :
|
|
# errorcode='EF004'
|
|
return request.redirect('/danke-xrechnung')
|
|
else : errorcode='EF003-'+str(kwargs.get('kdnr'))
|
|
else : errorcode='EF002'
|
|
else : errorcode='EF001-'+str(kwargs.get('kdid'))
|
|
return request.render('website.error-xrechnung',{'error':errorcode})
|
|
|