示例#1
0
def takeAway(request):
    print "============Reached takeAway=============="
    mobile = request.POST.get('mobile', '')
    name = request.POST.get('name', '')
    date = utils.time_now()
    if utils.guest_exists(mobile):
        g = Guest.objects.get(mobile=mobile)
        g.last_visited = {'restuarant': request.user.username, 'date': date}
        print "Saving direct user with: table_no: "
        g.save(update_fields=['last_visited'])
    else:
        print "Creating and Saving takeAway user",
        g = Guest(mobile=mobile,
                  created_at=date,
                  status=0,
                  name=name,
                  last_visited={
                      'restuarant': request.user.username,
                      'date': date
                  })
        g.save()
        # utils.send_link_to_register(mobile,name)
    signals.save_takeaway(request.user, mobile, date)
    print "============ENDING takeAway=============="
    return HttpResponseRedirect('/front/')
示例#2
0
def seatDirectly(request):
    print "============Reached seatDirectly=============="
    mydict = request.POST
    mobile = request.POST.get('mobile', '')
    name = request.POST.get('name', '')
    waitingtime = request.POST.get('waitingtime', '')
    partysize = request.POST.get('partysize', '')
    tables = []
    for key, value in mydict.iteritems():
        if key.startswith('table'):
            tables.append(int(value))
    print 'tables selected by user: '******'/front/?error=Please select a table')
    waiting_list = utils.get_waiting_guests(request.user)
    seated_list = utils.get_seated_guests(request.user)
    if (not mobile in waiting_list) and (
            not mobile in seated_list
    ):  #Check if he's not already in waiting list or seated
        if utils.guest_exists(mobile):
            g = Guest.objects.get(mobile=mobile)
            g.status = 2  #Seated
            g.current = request.user.username
            g.table_no = str(tables)[1:-1]
            print "Saving direct user with: table_no: "
            g.save(update_fields=['status', 'current', 'table_no'])
            signals.save_seated(request.user, mobile, tables, 1)
        else:
            print "Creating and Saving direct user with: table_no: ",
            g = Guest(mobile=mobile,
                      created_at=utils.time_now(),
                      status=2,
                      current=request.user.username,
                      name=name,
                      table_no=str(tables)[1:-1])
            g.save()
            signals.save_seated(request.user, mobile, tables, 1)
            # utils.send_link_to_register(mobile,name)
    else:
        return HttpResponseRedirect('/front/?error=%s' %
                                    'User already in waiting list or seated')

    #Update table info
    t = table.objects.get(user=request.user)
    free = t.status['free']
    booked = t.status['booked']
    for tab in tables:
        booked.append(tab)
        free.remove(tab)
    booked.sort()
    free.sort()
    seated = t.seated['seated']
    seated.append(mobile)
    t.seated = {'seated': seated}
    t.status = {"booked": booked, "free": free}
    t.save(update_fields=['status', 'seated'])
    print "===============FINISHED seatDirectly================="
    return HttpResponseRedirect('/front/')
示例#3
0
def add(request):
    errors = []
    if request.user.is_authenticated():
        if request.method == 'POST':
            mobile = request.POST.get('mobile', '')
            errors = []
            print mobile, "-------------------------------"
            waiting_list = utils.get_waiting_guests(request.user)
            if not mobile in waiting_list:  #Check if he's not already in waiting list
                if utils.guest_exists(mobile):
                    g = Guest.objects.get(mobile=mobile)
                    g.waiting_time = 5
                    g.start_time = utils.time_now()
                    g.status = 1  #Waiting list
                    g.current = request.user.username
                    g.save(update_fields=[
                        'waiting_time', 'start_time', 'status', 'current'
                    ])
                else:
                    g = Guest(mobile=mobile,
                              created_at=utils.time_now(),
                              start_time=utils.time_now(),
                              status=1,
                              current=request.user.username,
                              waiting_time=5)
                    g.save()
                    # utils.send_link_to_register(mobile)
                ##Add user to the waiting list
                u = User.objects.get(username=request.user.username)
                utils.update_waiting_list(u, g)
                signals.save_waiting(request.user, mobile)
            else:
                errors.append("%d already  in waiting list" % mobile)
            print errors, "========ERROR================"
        form = AddGuestForm()
        waiting = utils.get_waiting_detail(request.user)

        return render(request, 'clients/add.html', {
            'form': form,
            'waiting': waiting,
            'errors': errors
        })
    else:
        return HttpResponseRedirect('/login?msg=%s' % _MSG_CODES['lap'])
示例#4
0
def feedback_service(request):
    if request.method == 'POST':
        print "POST-------------------"
        table_num = request.POST.get('tableno', '')
        rating_qof = request.POST.get('rating_qof', '')
        rating_qos = int(request.POST.get('rating_qos', ''))
        rating_sf = int(request.POST.get('rating_sf', ''))
        rating_ab = int(request.POST.get('rating_ab', ''))
        rating_oe = int(request.POST.get('rating_oe', ''))
        info_name = request.POST.get('info_name', '')
        dob_date = request.POST.get('dob_date', '')
        dob_month = request.POST.get('dob_month', '')
        dob_year = request.POST.get('dob_year', '')
        info_contact = request.POST.get('info_contact', '')
        comments = request.POST.get('comments', '')
        dob = dob_date + "/" + MONTH[dob_month] + "/" + dob_year
        print "lmalfmalfmlamf"
        if (info_contact and info_name):
            try:
                if utils.guest_exists(info_contact):
                    pass
                else:
                    g = Guest(name=info_name,
                              mobile=info_contact,
                              dob=datetime.datetime.strptime(dob, "%d/%m/%Y"),
                              created_at=utils.time_now())
                    g.save()
                print rating_qof, rating_qos, rating_sf, rating_ab, rating_oe, table_num, info_name, dob, info_contact, comments
                fs = FeedbackService(user=request.user,
                                     date=utils.time_now(),
                                     mobile=info_contact,
                                     name=info_name,
                                     table_num=table_num,
                                     food=rating_qof,
                                     service=rating_qos,
                                     staff_friend=rating_sf,
                                     ambience=rating_ab,
                                     overall_exp=rating_oe,
                                     dob=dob,
                                     comments=comments)
                fs.save()
                print "HHAHAHAHAHAH"
                questions = Questions.objects.filter(
                    user=request.user).exclude(show=0)
                for q in questions:
                    print q
                    answer = request.POST.get('question_%d' % q.id, '')
                    a = Answers.objects.create(user=request.user,
                                               question=q,
                                               answer=answer)

                print "SAVED"
            except:
                return HttpResponseRedirect('/feedback?msg=Invalid Input')

            return HttpResponseRedirect('/feedback?msg=thanks')
        return HttpResponseRedirect('/feedback?msg=required')
    client = utils.user_to_client(request.user)
    try:
        rating_texts = RatingTexts.objects.get(user=request.user)
    except RatingTexts.DoesNotExist:
        rating_texts = RatingTexts.objects.create(user=request.user)

    questions = Questions.objects.filter(user=request.user).exclude(show=0)
    return render(request, 'clients/feedback_service.html', {
        'client': client,
        'rating_texts': rating_texts,
        'questions': questions
    })
示例#5
0
def adduser(request):
    error = []
    if request.user.is_authenticated():
        if request.method == 'POST':
            seat = request.POST.get('seat', '')
            if seat:  #Visitor has to be seated directly
                return seatDirectly(request)
            takeaway = request.POST.get('takeaway', '')
            if takeaway:  #Visitor came for takeaway
                return takeAway(request)
            mobile = request.POST.get('mobile', '')
            name = request.POST.get('name', '')
            waitingtime = request.POST.get('waitingtime', '')
            partysize = request.POST.get('partysize', '')
            add_to_waiting = request.POST.get('add_to_waiting', '')
            print mobile, name, waitingtime, partysize, add_to_waiting, "-------------->>>>>>>"

            waiting_list = utils.get_waiting_guests(request.user)
            seated_list = utils.get_seated_guests(request.user)
            if (not mobile in waiting_list) and (
                    not mobile in seated_list
            ):  #Check if he's not already in waiting list or seated
                if utils.guest_exists(mobile):
                    g = Guest.objects.get(mobile=mobile)
                    g.waiting_time = waitingtime
                    g.start_time = utils.time_now()
                    g.status = 1  #Waiting list
                    g.current = request.user.username
                    g.save(update_fields=[
                        'waiting_time', 'start_time', 'status', 'current'
                    ])
                else:
                    g = Guest(mobile=mobile,
                              created_at=utils.time_now(),
                              start_time=utils.time_now(),
                              status=1,
                              current=request.user.username,
                              waiting_time=waitingtime,
                              name=name)
                    g.save()
                ##Add user to the waiting list
                u = User.objects.get(username=request.user.username)
                utils.update_waiting_list(u, g)
                signals.save_waiting(request.user, mobile, waitingtime)
            elif (not mobile in waiting_list) and (mobile in seated_list):
                error = "User already seated"
            elif (not mobile in seated_list) and (mobile in waiting_list):
                error = "User already in waiting list"
            print "========ERROR================"
            print error
            print "============================="
            if (len(error) != 0):
                return HttpResponseRedirect('/front?error=%s' % (error))
            else:
                return HttpResponseRedirect('/front/')

        return HttpResponseRedirect('/front/')

        # return render(request, 'clients/front.html')
    else:
        return HttpResponseRedirect('/login?msg=%s' % _MSG_CODES['lap'])