def contact_edit(contact_id=None): client_id = None if contact_id: contact = Contact.objects.get(id=contact_id) form = FormContact(obj=contact) form.client_id.data = contact.client_id.id else: contact = Contact() form = FormContact() form.client_id.choices = [(0, 'Selectionnez un client')] for choice in Client.objects(): form.client_id.choices.append((str(choice.id), choice.name)) form.contact.data = 'contact' success = False if form.validate_on_submit(): contact.first_name = form.first_name.data contact.last_name = form.last_name.data contact.email = form.email.data contact.phone1 = form.phone1.data contact.phone2 = form.phone2.data customer = Client.objects.get(id=form.client_id.data) contact.client_id = customer contact.save() flash('Enregistrement effectue avec success', 'success') success = True return render_template('client/contact_edit.html', **locals())
def edit(client_id=None): menu = 'client' prospect = request.args.get('prospect') if prospect: submenu = 'prospect' title_page = 'Propect' else: submenu = 'client' title_page = 'Client' context = 'information' view_accent = False if client_id: client = Client.objects.get(id=client_id) form = FormClient(obj=client) form.id.data = client_id form.ref.data = client.ref accent_com = Client.objects(myself=True) view_accent = True if len(accent_com): view_accent = False else: client = Client() form = FormClient() success = False if form.validate_on_submit(): client.name = form.name.data client.ref = form.ref.data client.adresse = form.adresse.data client.bp = form.bp.data client.email = form.email.data client.pays = form.pays.data client.ville = form.ville.data client.phone = form.phone.data if prospect: client.prospect = True time_zones = pytz.timezone('Africa/Douala') date_auto_nows = datetime.datetime.now(time_zones).strftime( "%Y-%m-%d %H:%M:%S") client.date_created = function.datetime_convert(date_auto_nows) client.save() flash('Enregistrement effectue avec success', 'success') success = True # if not client_id: # return render_template('client/edit.html', **locals()) # else: return render_template('client/infos.html', **locals())
def unique_email_validator(form, field): """ email must be unique""" user_manager = Client.objects(email=field.data) if len(user_manager): if not form.id.data: raise wtf.ValidationError('Cette adresse email existant.') else: use = Client.objects.get(id=form.id.data) if use.email != field.data: raise wtf.ValidationError('Cette adresse email existant.')
def index(prospect=None): menu = 'client' if prospect: submenu = 'prospect' title_page = 'Propect' else: submenu = 'client' title_page = 'Client' context = 'charge' search = False q = request.args.get('q') if q: search = True try: page = int(request.args.get('page', 1)) except ValueError: page = 1 offset = 0 limit = 10 if page > 1: offset = ((page - 1) * 10) if prospect: count = Client.objects(prospect=True).count() datas = Client.objects(prospect=True).skip(offset).limit(limit) else: count = Client.objects(prospect=False).count() datas = Client.objects(prospect=False).skip(offset).limit(limit) pagination = Pagination(css_framework='bootstrap3', page=page, total=count, search=search, record_name='Clients') return render_template('client/index.html', **locals())
def unique_reference(form, field): if len(field.data) > 3: raise wtf.ValidationError( 'Pas plus de 03 caracteres pour une reference.') else: client = Client.objects(ref=field.data) if len(client): if not form.id.data: raise wtf.ValidationError('Reference Unique. Il en existe un.') else: use = Client.objects.get(id=form.id.data) if use.ref != field.data: raise wtf.ValidationError( 'Reference Unique. Il en existe un.')