Пример #1
0
def customer_modify(request):
    form = CustomerForm(instance=request.user)
    if request.method == "POST":
        form = CustomerForm(request.POST, instance=request.user)
        if form.is_valid():
            form.save()
            messages.add_message(request, messages.SUCCESS, _(u'信息修改成功'))
            return HttpResponseRedirect(reverse('home'))
    return render_to_response("core/customer_modify.html", {
        'form': form,
    },
                              context_instance=RequestContext(request))
Пример #2
0
def showedit_customer(c_id):
    form = CustomerForm(request.form, session.query(Customer).get(c_id))
    return render_template('customer_form.html',
                           form=form,
                           method="POST",
                           action="/customers/%s/edit" % c_id,
                           submit_text="Save changes")
Пример #3
0
def _add_customers():
    form = CustomerForm(request.form)
    return render_template('customer_form.html',
                           form=form,
                           method="POST",
                           action="/add",
                           error=None,
                           submit_text="Save")
Пример #4
0
def edit(request, id):
    customer = get_object_or_404(Customer, id=id)
    if request.method == 'POST':
        form = CustomerForm(request.POST, instance=customer)
        form_valid = form.is_valid()
        if form_valid:
            customer = form.save()
            customer.full_name = request.POST.get(
                'name') + ' ' + request.POST.get('last_name')
            customer.save()

            return HttpResponseRedirect(reverse(mycustomers))

    else:
        form = CustomerForm(instance=customer)
    return render_to_response('customers/edit.html',
                              locals(),
                              context_instance=RequestContext(request))
Пример #5
0
def profile(request, template='accounts/account_profile.html'):
    #print BaseUser.objects.all()
    #print request.user.pk
    #print request.user.username
    u = User.objects.get(id=request.user.pk)
    print u.groups.all()
    #base_user = get_object_or_404(BaseUser, user_id=request.user.pk)
    #print base_user
    print request.user.pk
    print request.user.username
    print request.user.groups.all()
    groups = request.user.groups.values_list('name', flat=True)
    print groups

    def update_user(user, form):
        for k, v in form.cleaned_data.items():
            print k, v
            setattr(user, k, v)
        #agent.password = form.cleaned_data.get('password')
        #agent.phone = form.cleaned_data.get("phone")
        user.save()

        u.email = user.email
        from django.contrib.auth.hashers import (check_password, make_password,
                                                 is_password_usable)
        u.password = make_password(user.password)
        u.save()

    if 'AgentGroup' in groups:
        agent = get_object_or_404(Agent, username=request.user.username)
        #form = AgentForm(request.POST or None, initial={'username': agent.username, 'phone': agent.phone})
        form = AgentForm(request.POST or None, instance=agent)
        if request.method == "POST" and form.is_valid():
            update_user(agent, form)
            info(request, _("Agent updated"))
        context = {"form": form, "title": _("Update Agent")}
        return render(request, template, context)
    elif 'CustomerGroup' in groups:
        customer = get_object_or_404(Customer, username=request.user.username)
        form = CustomerForm(request.POST or None, instance=customer)
        if request.method == "POST" and form.is_valid():
            update_user(customer, form)
            info(request, _("Customer updated"))
        context = {"form": form, "title": _("Update Customer")}
        return render(request, template, context)
    elif 'SuperAdminGroup' in groups or 'AdminGroup' in groups:
        admin = get_object_or_404(SysAdmin, username=request.user.username)
        form = SysAdminForm(request.POST or None, instance=admin)
        if request.method == "POST" and form.is_valid():
            update_user(admin, form)
            #TODO change group if necessary
            info(request, _("SysAdmin updated"))
        context = {"form": form, "title": _("Update SysAdmin")}
        return render(request, template, context)

    return render(request, template)
Пример #6
0
def customer_create():
    form = CustomerForm(request.form)

    if form.validate_on_submit():
        customer = Customer(phone=form.phone.data,
                            email=form.email.data,
                            name=form.name.data)
        return redirect('/')

    return render_template('customer/create.html', form=form)
Пример #7
0
def customer_add():
    form = CustomerForm(request.form)
    if request.method == 'POST' and form.validate():
        new_user = Customer(name=form.name.data,
                            email=form.email.data,
                            tel=form.tel.data)
        db.session.add(new_user)
        db.session.commit()
        flash('Başarılı bir şekilde müşteri eklediniz', 'success')
        return redirect(url_for('customer_add'))
    else:
        return render_template('customer_add.html', form=form)
Пример #8
0
def add(request):
    if request.method == 'POST':
        # if method was post (form submission), fill form with post data
        form = CustomerForm(request.POST)
        form_valid = form.is_valid()
        if form_valid:
            # if form is valid, save it and redirect back to mycustomers
            # commit=False tells form to not save the object to the database just yet and return it instead
            customer = form.save(commit=False)
            # set service_provider to the current customer before we save the object to the database
            customer.service_provider = request.user.service_provider
            customer.full_name = request.POST.get(
                'name') + ' ' + request.POST.get('last_name')
            customer.last_reservation = None
            customer.save()
            return HttpResponseRedirect(reverse(mycustomers))
    else:
        # on get request create empty form
        form = CustomerForm()
    # render form - new (get request) or invalid with error messages (post request)
    return render_to_response('customers/add.html',
                              locals(),
                              context_instance=RequestContext(request))
Пример #9
0
def new_customer():
    """
    Add a new customer
    """
    form = CustomerForm(request.form)

    if request.method == 'POST' and form.validate():
        # save the album
        new_customer = customer()
        save_changes(new_customer, form, new=True)
        flash('Cliente Registrado!')
        return redirect('/')

    return render_template('new_customer.html', form=form)
Пример #10
0
def edit(id):
    qry = db.session.query(customer).filter(customer.id == id)
    customer_info = qry.first()

    if customer_info:
        form = CustomerForm(formdata=request.form, obj=customer_info)
        if request.method == 'POST' and form.validate():
            # save edits
            save_changes(customer_info, form)
            flash('Cliente registrado!')
            return redirect('/')
        return render_template('edit_customer.html', form=form)
    else:
        return 'Error loading #{id}'.format(id=id)
Пример #11
0
def index(request):
    form = CustomerForm(request.POST)
    if (request.method == 'POST'):
        if (form.is_valid()):
            form.save()
            stu = Customer.objects.all()
            UserList = User.objects.all()
            for tm in stu:
                f = 0
                for che in UserList:
                    if (tm.name == che.username):
                        f = 1
                        break
                if f == 0:
                    user = User.objects.create_user(username=tm.name,
                                                    password=tm.Password,
                                                    email='*****@*****.**')

            #print form.cleaned_data[Customer.name]
            #user = User.objects.create_user(username = {{form.name}},
            #								password = {{form.RollNo}},
            #								email = '*****@*****.**'
            #								)
            message = 'Successfully Registered'
            #return render(request,'success.html',{'message': message})
            return redirect("/success/", {'message': message})

        else:
            form_error = "(Registration Failed. Username Exists!)"
            return render(request, 'index.html', {
                'form': form,
                'form_error': form_error
            })
    else:
        form = CustomerForm(request.POST)
    return render(request, 'index.html', {'form': form})
Пример #12
0
def customer(id):
    customer = Customer.query.get(id)
    if request.method == 'DELETE':
        db.session.delete(customer)
        db.session.commit()
        return redirect(url_for('customers'))
    else:
        form = CustomerForm(request.form)
        if form.validate():
            form.populate_obj(customer)
            db.session.add(customer)
            db.session.commit()
            return redirect(url_for('customers'))
        else:
            return render_template('edit_customer.html',
                                   form=form,
                                   customer=customer)
Пример #13
0
def add_customers():
    form = CustomerForm(request.form)
    error = None
    if form.validate():
        customer = Customer(form.first_name.data, form.last_name.data,
                            form.email.data, form.age.data)
        flash('You sucessfully added a new customer!')
        session.add(customer)
        session.commit()
        return redirect(url_for('customers'))
    else:
        error = "Fields are not filled correctly!"
        return render_template('customer_form.html',
                               form=form,
                               method="POST",
                               action="/add",
                               error=error,
                               submit_text="Save")
Пример #14
0
def edit_customer(c_id):
    form = CustomerForm(request.form)
    if form.validate():
        cust_edited = Customer(form.first_name.data, form.last_name.data,
                               form.email.data, form.age.data)
        flash('You sucessfully edited customer')
        customer_db = session.query(Customer).get(c_id)
        customer_db.first_name = cust_edited.first_name
        customer_db.last_name = cust_edited.last_name
        customer_db.age = cust_edited.age
        customer_db.email = cust_edited.email
        session.commit()
        return redirect(url_for('customers'))
    else:
        error = "Fields are not filled correctly!"
    return render_template('customer_form.html',
                           form=form,
                           method="POST",
                           action="/customer/%s/edit" % c_id,
                           submit_text="Save changes")
Пример #15
0
def delete(id):
    """
    Delete the item in the database that matches the specified
    id in the URL
    """
    qry = db.session.query(customer).filter(customer.id == id)
    customer_info = qry.first()

    if customer:
        form = CustomerForm(formdata=request.form, obj=customer_info)
        if request.method == 'POST' and form.validate():
            # delete the item from the database
            db.session.delete(customer_info)
            db.session.commit()

            flash('Cliente eliminado!')
            return redirect('/')
        return render_template('delete_customer.html', form=form)
    else:
        return 'Error deleting #{id}'.format(id=id)
Пример #16
0
def customers():
    if request.method == 'POST':
        form = CustomerForm(request.form)
        customer = Customer()

        if form.validate():
            form.populate_obj(customer)
            db.session.add(customer)
            db.session.commit()
            return redirect(url_for('customers'))
        else:
            return render_template('new_customer.html', form=form)
    else:
        page = int(request.args.get('page', 1))
        page_size = int(request.args.get('page_size', 10))
        filter = request.args.get('filter', None)
        order_by = request.args.get('order_by', None)
        order = request.args.get('order', None)
        order = order if order in ['ASC', 'DESC'] else 'ASC'

        q = Customer.query
        if filter:
            q = q.filter(getattr(Customer, 'name').like('%{}%'.format(filter)))
        count = q.count()

        if order_by:
            q = q.order_by('{} {}'.format(order_by, order))

        q = q.offset((page - 1) * page_size)
        customers = q.limit(page_size)
        total_pages = (count // page_size) + (0 if
                                              (count % page_size) == 0 else 1)
    return render_template('customers.html',
                           customers=customers,
                           page=page,
                           page_size=page_size,
                           count=count,
                           total_pages=total_pages)
Пример #17
0
    def post(self, obj_id=None):
        """
       Post customer(s)
       Create a new customer/ Update a customer
       ---
       tags:
         - customers
       parameters:
         - in: path
           name: obj_id
         - in: body
           name: body
           schema:
             id: Customer
             required:
               - first_name
               - last_name
             optional:
               - address
               - phone_number
             properties:
               first_name:
                 type: string
                 description: first name for customer
               last_name:
                 type: string
                 description: last name for customer
               address:
                 type: string
                 description: address for customer
               phone_number:
                 type: string
                 description: phone number for customer
       responses:
         201:
           description: Customer created
       """
        data = self.prepare_data()
        if obj_id:
            form = UpdateForm(data, csrf_enabled=False)
            if form.validate():
                customer = Customer.get_by_id(int(obj_id))
                if not customer:
                    abort(404, message="Customer with key ({}) not found".format(obj_id))

                customer.first_name = form.first_name.data if form.first_name.data else customer.first_name
                customer.last_name = form.last_name.data if form.last_name.data else customer.last_name
                customer.phone_number = form.phone_number.data if form.phone_number.data else customer.phone_number
                customer.address = form.address.data if form.address.data else customer.address
                customer.put()

                output = self.output_fields
                output.update(self.resource_fields)
                return marshal(customer, output), 200
            else:
                error_data = self.prepare_errors(form.errors)
                raise CustomException(code=400, name='Validation Failed', data=error_data)
        else:
            form = CustomerForm(data, csrf_enabled=False)

            if form.validate():
                customer = Customer(first_name=form.first_name.data, last_name=form.last_name.data,
                                phone_number=form.phone_number.data, address=form.address.data)
                customer.put()
                customer.id = str(customer.key.id())
                customer.put()
                output = self.output_fields
                output.update(self.resource_fields)
                return marshal(customer, output), 201

        error_data = self.prepare_errors(form.errors)
        raise CustomException(code=400, name='Validation Failed', data=error_data)
Пример #18
0
def new_customer():
    form = CustomerForm()
    return render_template('new_customer.html', form=form)
Пример #19
0
def edit_customer(id):
    customer = Customer.query.get(id)
    form = CustomerForm(obj=customer)
    return render_template('edit_customer.html', form=form, customer=customer)