Ejemplo n.º 1
0
def manager_items(request, client_id):
    #TODO: some refactoring,
    #      make the form validations work with the javascript part
    menu = dao.get_active_menu(client_id)
    items = dao.get_client_items(client_id)
    item_form = ItemForm()
    if request.method == 'POST':
        if request.is_ajax():
            if 'add_item' in request.POST:
                #This case handles the add items submit form
                item_form = ItemForm(request.POST)
                if item_form.is_valid():
                    #If the form is valid it enters here
                    cd = item_form.cleaned_data
                    name = cd['name']
                    price = cd['price']
                    description = cd['description']
                    dao.add_item(client_id, name, price, description)
            elif 'delete_item_id' in request.POST:
                #This case handles the delete item submit form
                item_id = request.POST['delete_item_id']
                dao.del_item(client_id, item_id)
            elif 'save_edit' in request.POST:
                #This case handles the updated items
                item_id = request.POST['item_id']
                name = request.POST['name']
                price = float(request.POST['price'])
                description = request.POST['description']
                dao.update_item(item_id, name = name, price = price, description = description)
                
    return render(request, 'desktop_index.html',
                  {'items': items,
                   'item_form': item_form,
                   'template': 'manager_items.html',
                   'title': 'Manager'})
Ejemplo n.º 2
0
def manager_menus(request, client_id):
    #TODO: some refactoring,
    #      make the form validations work with the javascript part,
    #      make a clean decoupled design and python view code that is independent of
    #      the DB or JS code.
    menus = dao.get_client_menus(client_id)
    items = dao.get_client_items(client_id)
    if request.method == 'POST':
        if request.is_ajax():
            if 'add_menu' in request.POST:
                "Adds new menu to the db"
                dao.add_menu(request.POST['menu_title'], client_id)
            elif 'save_menu' in request.POST:
                "Saves the selected menu to the db"
                menu = jstree2mongo(request.POST)
                dao.update_menu_title(menu['id'], menu['title'])
                dao.update_menu_structure(menu['id'], menu['structure'])
            elif 'active_menu' in request.POST:
                "Sets the selected menu as active"
                menu_id = jstree2mongo(request.POST)['id']
                dao.update_active_menu(client_id, menu_id)

    return render(request, 'desktop_index.html',
                  {'menus': menus, 'items': items,
                   'json_menus': mongo2jstree_list(menus),
                   'template': 'manager_menus.html',
                   'title': 'Manager'})
Ejemplo n.º 3
0
def bill_add_order(request, bill_id):
    client_id = request.session['client_id']
    items = dao.get_client_items(client_id)
    bill = dao.get_bill(bill_id)

    return render(request, 'index_screen.html',
                  {'template': 'bill_add_order.html', 'items': items,
                   'bill': bill})
Ejemplo n.º 4
0
def manager_items(request):
    client_id = dao.get_client_id_from_username(request.user.username)
    items = dao.get_client_items(client_id)
    item_form = ItemForm()
    if request.method == 'POST':
        if request.is_ajax():
            if 'create_item' in request.POST:
                #This case handles the add items submit form
                item_form = ItemForm(request.POST)
                if item_form.is_valid():
                    #If the form is valid it enters here
                    cd = item_form.cleaned_data
                    name = cd['name']
                    price = cd['price']
                    description = cd['description']
                    dao.add_item(client_id, name, price, description)
            elif 'delete_item_id' in request.POST:
                #This case handles the delete item submit form
                item_id = request.POST['delete_item_id']
                dao.del_item(client_id, item_id)
            elif 'edit_item' in request.POST:
                #This case handles the updated items
                item_id = request.POST['item_id']
                name = request.POST['name']
                price = float(request.POST['price'])
                description = request.POST['description']
                dao.update_item(item_id, name = name, price = price, description = description)
            elif 'set_item_photo' in request.POST:
                #This case handles the upload item photo form
                dao.set_item_photo(request.POST['item_id'])
            elif 'toggle_availability' in request.POST:
                item_id = request.POST['item_id']
                dao.toggle_item_availability(item_id)
                
    return render(request, 'desktop_index.html',
                  {'items': items,
                   'item_form': item_form,
                   'template': 'manager_items.html',
                   'title': 'Manager',
                   'AWS_ACCESS_KEY_ID': settings.AWS_ACCESS_KEY_ID,
                   'policy': settings.POLICY,
                   'signature': settings.SIGNATURE,
                   'client': client_id})
Ejemplo n.º 5
0
def manager_menus(request):
    client_id = dao.get_client_id_from_username(request.user.username)
    try:
        menus = dao.get_client_menus(client_id)
    except TypeError:
        menus = []
    item_form = ItemForm()
    items = dao.get_client_items(client_id)
    if request.method == 'POST':
        if request.is_ajax():
            if 'add_menu' in request.POST:
                "Adds new menu to the db"
                dao.add_menu(request.POST['menu_title'], client_id)
            elif 'save_menu' in request.POST:
                "Saves the selected menu to the db"
                menu = jstree2mongo(request.POST)
                dao.update_menu_title(menu['id'], menu['title'])
                dao.update_menu_structure(menu['id'], menu['structure'])
            elif 'delete_menu' in request.POST:
                menu = request.POST['menu_id']
                dao.delete_menu(client_id, menu)
            elif 'item_form' in request.POST:
                item_form = ItemForm(request.POST)
                if item_form.is_valid():
                    cd = item_form.cleaned_data
                    name = cd['name']
                    price = cd['price']
                    description = cd['description']
                    if 'create_item' in request.POST:
                        dao.add_item(client_id, name, price, description)
                    elif 'edit_item' in request.POST:
                        item_id = request.POST['item_id']
                        dao.update_item(item_id, name = name, price = price, description = description)
    return render(request, 'desktop_index.html',
                  {'menus': menus, 'items': items,
                   'item_form': item_form,
                   'json_menus': mongo2jstree_list(menus),
                   'template': 'manager_menus.html',
                   'title': 'Manager'})