Пример #1
0
def realtime(request):
    from forms import DutyForm
    
    
    # get the current server time to seed the javascript timer
    gmt = datetime.datetime.now() + datetime.timedelta(hours=5)
    
    latest_open_duty = Duty.latest_open(user=request.display_user)
    
    if request.POST: #.get('submit') == "Go on Duty":
        form = DutyForm(request.POST, instance=latest_open_duty)
        if form.is_valid():
            form.save()
        
        print request.POST.get('submit')
        
        if request.POST.get('submit') == "Go On Duty":
            on_duty = True
        
        if request.POST.get('submit') == "Go Off Duty":
            on_duty = False
            form = DutyForm()
    else:

        if latest_open_duty.on_duty():
            form = DutyForm(instance=latest_open_duty)
            on_duty = True
            
        else:
            form = DutyForm()
            on_duty = False
            
    return locals()
Пример #2
0
def add_duty():
    if 'user_id' not in session:
        return redirect(url_for('login'))
    else:
        myname = session['username']
        if request.method == "POST":
            title = request.form['title']
            print title
            category_id = request.form['name']
            is_show = request.form['is_show']
            status = request.form['status']
            if title and category_id:
                data = Duty(category_id, session['user_id'], title, status,
                            is_show, time.time())
                res = db.session.add(data)
                db.session.commit()
                print data.duty_id
                if data.duty_id:
                    flash('add successfully! ')
                    return redirect(url_for('my_duty'))
                else:
                    flash('register error!')
                    return redirect(url_for('add_duty'))
            else:
                flash('field can not be empty')
                return redirect(url_for('add_duty'))
        else:
            category_list = Category.query.order_by(Category.category_id).all()
            return render_template('add_duty.html',
                                   category_list=category_list)
Пример #3
0
def realtime(request):
    from forms import DutyForm

    # get the current server time to seed the javascript timer
    gmt = datetime.datetime.now() + datetime.timedelta(hours=5)

    latest_open_duty = Duty.latest_open(user=request.display_user)

    if request.POST:  #.get('submit') == "Go on Duty":
        form = DutyForm(request.POST, instance=latest_open_duty)
        if form.is_valid():
            form.save()

        print request.POST.get('submit')

        if request.POST.get('submit') == "Go On Duty":
            on_duty = True

        if request.POST.get('submit') == "Go Off Duty":
            on_duty = False
            form = DutyForm()
    else:

        if latest_open_duty.on_duty():
            form = DutyForm(instance=latest_open_duty)
            on_duty = True

        else:
            form = DutyForm()
            on_duty = False

    return locals()
Пример #4
0
def latest_duty_as_json(request):
    """
    Return the latest duty instance and serialize it for display in the page
    """

    duty = Duty.latest_open(user=request.display_user)

    json = dict(start=duty.start, )
Пример #5
0
def latest_duty_as_json(request):
    """
    Return the latest duty instance and serialize it for display in the page
    """
    
    duty = Duty.latest_open(user=request.display_user)
    
    json = dict(
                    start=duty.start,
                )
Пример #6
0
def ajax_go_on_duty(request):
    assert request.GET, "Error: no get data"
    ret = {}

    #---------

    duty = Duty.latest_open(user=request.display_user) or \
           Duty(user=request.display_user)

    duty.start = atd(request.GET['timestamp'])
    duty.save()

    #if not duty.latest_open_block():
    #    block = Block(duty=duty)
    #    block.save()
    #    ret['block_id'] = block.id

    ret['duty'] = duty.as_json_dict()

    return ret
Пример #7
0
def ajax_get_master_duty(request):
    """
    Returns a huge json response describing the totality of the latest Duty
    object and all of it's blocks within
    """
    
    duty = Duty.latest_open(user=request.display_user)
    if duty:
        blocks_list = [b.as_json_dict() for b in duty.block_set.all()]
        return {"duty": duty.as_json_dict(), "blocks": blocks_list}
    
    return {'nothing': True}
Пример #8
0
def ajax_get_master_duty(request):
    """
    Returns a huge json response describing the totality of the latest Duty
    object and all of it's blocks within
    """

    duty = Duty.latest_open(user=request.display_user)
    if duty:
        blocks_list = [b.as_json_dict() for b in duty.block_set.all()]
        return {"duty": duty.as_json_dict(), "blocks": blocks_list}

    return {'nothing': True}
Пример #9
0
def ajax_go_off_duty(request):
    assert request.GET, "Error: no get data"
    duty = Duty.latest_open(user=request.display_user)
    assert duty, "No open Duty"
    ret = {}
    
    #---------
      
    duty.end = atd(request.GET['timestamp'])
    duty.save()
    
    ret['duty'] = duty.as_json_dict()
    
    return ret
Пример #10
0
def ajax_go_off_duty(request):
    assert request.GET, "Error: no get data"
    duty = Duty.latest_open(user=request.display_user)
    assert duty, "No open Duty"
    ret = {}

    #---------

    duty.end = atd(request.GET['timestamp'])
    duty.save()

    ret['duty'] = duty.as_json_dict()

    return ret
Пример #11
0
def ajax_go_on_duty(request):
    assert request.GET, "Error: no get data"
    ret = {}
    
    #---------

    duty = Duty.latest_open(user=request.display_user) or \
           Duty(user=request.display_user)
           
    duty.start = atd(request.GET['timestamp'])
    duty.save()
    
    #if not duty.latest_open_block():
    #    block = Block(duty=duty)
    #    block.save()
    #    ret['block_id'] = block.id
        
    ret['duty'] = duty.as_json_dict()
    
    return ret
Пример #12
0
def realtime2(request):

    gmt = datetime.datetime.utcnow()
    duty = Duty.latest_open(user=request.display_user)
    
    return locals()
Пример #13
0
def ajax_duty_status(request):
    """
    Returns true of the user has a currently open duty instance
    """
    
    return {"status": bool(Duty.latest_open(user=request.display_user))}
Пример #14
0
def realtime2(request):

    gmt = datetime.datetime.utcnow()
    duty = Duty.latest_open(user=request.display_user)

    return locals()
Пример #15
0
def ajax_duty_status(request):
    """
    Returns true of the user has a currently open duty instance
    """

    return {"status": bool(Duty.latest_open(user=request.display_user))}