コード例 #1
0
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())
コード例 #2
0
ファイル: views_client.py プロジェクト: wilrona/Gesacom
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())
コード例 #3
0
def index():
    menu = 'client'
    submenu = 'contact'
    context = 'charge'
    title_page = 'Client - Contact'

    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)

    count = Contact.objects().count()
    datas = Contact.objects().skip(offset).limit(count)

    pagination = Pagination(css_framework='bootstrap3',
                            page=page,
                            total=count,
                            search=search,
                            record_name='Contacts')

    return render_template('client/contacts.html', **locals())
コード例 #4
0
def contact_edit(client_id, contact_id=None):

    user = Client.objects.get(id=client_id)

    if contact_id:
        contact = Contact.objects.get(id=contact_id)
        form = FormContact(obj=contact)
    else:
        contact = Contact()
        form = FormContact()

    form.client_id.choices = [(0, '')]

    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
        contact.client_id = user

        contact.save()
        flash('Enregistrement effectue avec success', 'success')
        success = True

    return render_template('client/contact_edit.html', **locals())
コード例 #5
0
ファイル: views_client.py プロジェクト: wilrona/Gesacom
def contact_edit(client_id, contact_id=None):

    user = Client.get_by_id(client_id)

    if contact_id:
        contact = Contact.get_by_id(contact_id)
        form = FormContact(obj=contact)
    else:
        contact = Contact()
        form = FormContact()

    form.client_id.choices = [(0, '')]

    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
        contact.client_id = user.key

        contact.put()
        flash('Enregistrement effectue avec success', 'success')
        success = True

    return render_template('client/contact_edit.html', **locals())
コード例 #6
0
def delete(client_id):
    from ..budget.models_budget import ClientBudget
    from ..projet.models_projet import Projet

    prospect = request.args.get('prospect')

    client = Client.objects.get(id=client_id)

    projet_client = Projet.objects(client_id=client.id)

    if len(projet_client):
        flash('Impossible de supprimer cette element', 'danger')
    else:
        contact_client = Contact.objects(client_id=client.id)

        budget_client = ClientBudget.objects(client_id=client.id)

        for contact in contact_client:
            contact.delete()

        for client in budget_client:
            client.delete()

        client.delete()
        flash('Suppression reussie', 'success')

    return redirect(url_for('client.index', prospect=prospect))
コード例 #7
0
ファイル: views_client.py プロジェクト: wilrona/Gesacom
def index():
    menu = 'client'
    submenu = 'contact'
    context = 'charge'
    title_page = 'Client - Contact'

    search = False
    q = request.args.get('q')
    if q:
        search = True
    try:
        page = int(request.args.get('page', 1))
    except ValueError:
        page = 1

    datas = Contact.query()
    pagination = Pagination(css_framework='bootstrap3', page=page, total=datas.count(), search=search, record_name='Contacts')
    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/contacts.html', **locals())
コード例 #8
0
ファイル: views_client.py プロジェクト: wilrona/Gesacom
def delete(client_id):
    from ..budget.models_budget import ClientBudget
    from ..projet.models_projet import Projet

    prospect = request.args.get('prospect')

    client = Client.get_by_id(client_id)

    projet_client = Projet.query(
        Projet.client_id == client.key
    ).count()

    if projet_client:
        flash('Impossible de supprimer cette element', 'danger')
    else:
        contact_client = Contact.query(
            Contact.client_id == client.key
        )

        budget_client = ClientBudget.query(
            ClientBudget.client_id == client.key
        )

        for contact in contact_client:
            contact.key.delete()

        for client in budget_client:
            client.key.delete()

        client.key.delete()
        flash('Suppression reussie', 'success')

    return redirect(url_for('client.index', prospect=prospect))
コード例 #9
0
ファイル: views_client.py プロジェクト: wilrona/Gesacom
def contact(client_id, prospect=None):
    menu = 'client'
    if prospect:
        submenu = 'prospect'
        title_page = 'Prospect'
    else:
        submenu = 'client'
        title_page = 'Client'
    context = 'contact'

    client = Client.get_by_id(client_id)

    search = False
    q = request.args.get('q')
    if q:
        search = True
    try:
        page = int(request.args.get('page', 1))
    except ValueError:
        page = 1

    datas = Contact.query(
        Contact.client_id == client.key
    )
    pagination = Pagination(css_framework='bootstrap3', page=page, total=datas.count(), search=search, record_name='Contact')

    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/contact.html', **locals())
コード例 #10
0
def contact(client_id, prospect=None):
    menu = 'client'
    if prospect:
        submenu = 'prospect'
        title_page = 'Prospect'
    else:
        submenu = 'client'
        title_page = 'Client'
    context = 'contact'

    client = Client.objects.get(id=client_id)

    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)

    count = Contact.objects(client_id=client.id).count()
    datas = Contact.objects(client_id=client.id).skip(offset).limit(limit)

    pagination = Pagination(css_framework='bootstrap3',
                            page=page,
                            total=count,
                            search=search,
                            record_name='Contact')

    return render_template('client/contact.html', **locals())
コード例 #11
0
ファイル: views_client.py プロジェクト: wilrona/Gesacom
def contact_delete(contact_id):
    contact = Contact.get_by_id(contact_id)
    contact.key.delete()
    flash('Suppression reussie', 'success')
    return redirect(url_for('contact.index'))
コード例 #12
0
ファイル: views_client.py プロジェクト: wilrona/Gesacom
def contact_delete(client_id, contact_id):

    contact = Contact.get_by_id(contact_id)
    contact.key.delete()
    flash('Suppression reussie', 'success')
    return redirect(url_for('client.contact', client_id=client_id))