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 if prospect: datas = Client.query(Client.prospect == True) else: datas = Client.query(Client.prospect == False) pagination = Pagination(css_framework='bootstrap3', page=page, total=datas.count(), search=search, record_name='Clients') if datas.count() > 10: if page == 1: offset = 0 else: page -= 1 offset = page * 10 datas = datas.fetch(limit=10, offset=offset) return render_template('client/index.html', **locals())
def contact_edit(contact_id=None): client_id = None if contact_id: contact = Contact.get_by_id(contact_id) form = FormContact(obj=contact) form.client_id.data = contact.client_id.get().key.id() else: contact = Contact() form = FormContact() form.client_id.choices = [(0, 'Selectionnez un client')] for choice in Client.query(): form.client_id.choices.append((choice.key.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.get_by_id(int(form.client_id.data)) contact.client_id = customer.key contact.put() flash('Enregistrement effectue avec success', 'success') success = True return render_template('client/contact_edit.html', **locals())
def unique_email_validator(form, field): """ email must be unique""" user_manager = Client.query(Client.email == field.data).count() if user_manager: if not form.id.data: raise wtf.ValidationError("Cette adresse email existant.") else: use = Client.get_by_id(int(form.id.data)) if use.email != field.data: raise wtf.ValidationError("Cette adresse email existant.")
def unique_reference(form, field): if len(field.data) > 3: raise wtf.ValidationError("Pas plus de 03 caracteres pour une reference.") else: client = Client.query(Client.ref == field.data).count() if client: if not form.id.data: raise wtf.ValidationError("Reference Unique. Il en existe un.") else: use = Client.get_by_id(int(form.id.data)) if use.ref != field.data: raise wtf.ValidationError("Reference Unique. Il en existe un.")
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.get_by_id(client_id) form = FormClient(obj=client) form.id.data = client_id form.ref.data = client.ref accent_com = Client.query( Client.myself == True ) view_accent = True if accent_com.count(): 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.put() 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())