def modifyacct_route(rdb):
    logged_in = account.isLoggedIn()
    if logged_in:
        info = account.getUserInfo(rdb)
        return template('modifyacct.tpl', get_url=url, logged_in=logged_in, acct=info)
    else:
        redirect('/login')
def show_task_ajax(rdb, user_id, event_id, task_id):
    logged_in = account.isLoggedIn()
    if logged_in:
        #todo: make sure user has access to this event
        
        #get task info        
        task_info = rdb.hgetall('task:' + str(user_id) + ':' + str(event_id) + ':' + str(task_id))
        task_info['strtstatus'] = constants.getStatusStrFromInt(task_info['tstatus'])
        #get items for this task
        items = []
        for i in rdb.smembers('itemids:' + str(user_id) + ':' + str(event_id) + ':' + str(task_id)):
            item_info = rdb.hgetall('item:' + str(user_id) + ':' + str(event_id) + ':' + str(task_id) + ':' + str(i))
            item = (i,
                    item_info['iname'],
                    item_info['icost'],
                    item_info['inotes'],
                    constants.getStatusStrFromInt(item_info['istatus']) )
            items.insert(0, item)
            print item
        task_info['items'] = items

        permission = account.accountHasAdmin(rdb, user_id, event_id)
        return template('taskajax.tpl', get_url=url, logged_in=logged_in,
                                        tinfo=task_info, uid=user_id,
                                        eid=event_id, tid = task_id,
                                        perms=permission)
def myacct_route(rdb):
    logged_in = account.isLoggedIn()
    if logged_in:
        acct = account.getUserInfo(rdb)
        acct.append(request.get_cookie('account', secret='pass'))
        return template('myaccount.tpl', get_url=url, logged_in=logged_in, acct=acct)
    else:
        redirect('/login')
def show_event(rdb, user_id, event_id):
    
    logged_in = account.isLoggedIn()
    if logged_in:
        #get event info
        event_info = rdb.hgetall('event:' + str(user_id) + ':' + str(event_id))
        
        #add string versions of constants
        event_info['strestatus'] = constants.getEventTypeStrFromInt(event_info['estatus'])
        event_info['stretype'] = constants.getStatusStrFromInt(event_info['etype'])
        event_info['user_id'] = user_id
        event_info['event_id'] = event_id
        
        #get tasks for this event
        tasks = []
        for i in rdb.smembers('taskids:'+ str(user_id) + ':' + str(event_id)):
            #get task
            task_info = rdb.hgetall('task:' + str(user_id) + ':' + str(event_id) + ':' + str(i))
            print task_info
            t = (   i,
                 task_info['tname'],
                 task_info['tinfo'],
                 task_info['tcost'],
                 constants.getStatusStrFromInt(task_info['tstatus']),
                 task_info['numitems'],
                 [])
            #get items for each task
            for j in rdb.smembers('itemids' + str(user_id) + ':' + str(event_id) + str(i)):
                #get task
                item_info = rdb.hgetall('item:' + str(user_id) + ':' + str(event_id) + ':' + str(i) + ':' + str(j))
                item = (j,
                        item_info['iname'],
                        item_info['icost'],
                        item_info['inotes'],
                        constants.getStatusStrFromInt(item_info['istatus']) )
                t[6].insert(0, item)
            
            tasks.insert(0,t)
            #return info to template
        event_info['tasks'] = tasks

        permission = account.accountHasAdmin(rdb, user_id, event_id)
        print permission
        return template('event.tpl', get_url=url, logged_in=logged_in,
                                     row=event_info, uid=user_id,
                                     perms=permission, eid=event_id)
    
    else:
        redirect('/userhome')
def post_edit_item(rdb, user_id, event_id, task_id, item_id):
    #ensure user is logged in
    logged_in = account.isLoggedIn()
    if not logged_in:
        return redirect('/login')

    #ensure user has access to change this event
    if not account.accountHasAdmin(rdb, user_id, event_id):
        abort(401, "Sorry, access is denied!")

    result = item.edit_item(rdb, user_id, event_id, task_id, item_id)
    if result:
        redirect('/task/%s/%s/%s' % result)
    else:
        abort(400, "Error submiting your changes")
def show_edit_event(user_id, event_id):
    #ensure user is logged in
    logged_in = account.isLoggedIn()
    if not logged_in:
        return redirect('/login')

    #ensure user has access to change this event
    if not account.accountHasAdmin(rdb, user_id, event_id):
        abort(401, "Sorry, access is denied!")

    #get event details to feed to template
    event_info = rdb.hgetall('event:' + str(user_id) + ':' + str(event_id))
    if event_info:
        return template('editevent.tpl', get_url=url, logged_in=logged_in, einfo=event_info, uid=user_id, eid=event_id)
    else:
        return abort(404, "Sorry, there is no task for this user and id")
def show_edit_item(rdb, user_id, event_id, task_id, item_id):
    #ensure user is logged in
    logged_in = account.isLoggedIn()
    if not logged_in:
        return redirect('/login')

    #ensure user has access to change this event
    if not account.accountHasAdmin(rdb, user_id, event_id):
        abort(401, "Sorry, access is denied!")

    #get event details to feed to template
    item_info = rdb.hgetall('item:' + str(user_id) + ':' + str(event_id) + ':' + str(task_id) + ':' + str(item_id))
    if item_info:
        return template('edititem.tpl', get_url=url, logged_in=logged_in, iinfo=item_info, uid=user_id, eid=event_id, tid=task_id, iid=item_id)
    else:
        return abort(404, "Sorry, there is no Item for this task")
Beispiel #8
0
def userhome_route(rdb):
    if account.isLoggedIn():
        user = request.get_cookie('account', secret='pass')
        user_id = str(int(rdb.zscore('accounts:usernames', user)))
        
        #get list of private events for current user
        lstprivates = getUserEventsList(rdb, user_id, 'private')
        
        #get list of invited to events for current user
        lstinvited = getUserEventsList(rdb, user_id, 'invited')
        
        #get list of public events for current user
        lstpublics = getUserEventsList(rdb, user_id, 'public')
        
        return template('userhome.tpl',public_events=lstpublics,private_events=lstprivates,
                        invited_events=lstinvited, get_url=url, logged_in=True)
    else:
        redirect('/login')
def delete_item(rdb, user_id, event_id, task_id, item_id):
    #ensure user is logged in
    logged_in = account.isLoggedIn()
    if not logged_in:
        return redirect('/login')

    #ensure this event is owned by the current user
    user = request.get_cookie('account', secret='pass')
    cur_user_id = str(int(rdb.zscore('accounts:usernames', user)))
    if cur_user_id != user_id:
        abort(401, "Sorry, access denied.")

    #delete the item
    rdb.delete('item:%s:%s:%s:%s' % (user_id, event_id, task_id, item_id))

    #remove the item from it's taskids set
    rdb.srem('itemids:%s:%s:%s' % (user_id, event_id, task_id), item_id)

    #return user to event page
    return redirect('/task/%s/%s/%s' % (user_id, event_id, task_id))
def userhome_ajax(rdb):
   if account.isLoggedIn():
        user = request.get_cookie('account', secret='pass')
        user_id = str(int(rdb.zscore('accounts:usernames', user)))
        
        #get list of private events for current user
        lstprivates = getUserEventsList(rdb, user_id, 'private')
        
        #get list of events user has admin on
        lstadmin = getUserEventsList(rdb, user_id, 'admin')

        #get list of invited to events for current user
        lstinvited = getUserEventsList(rdb, user_id, 'invited')
        
        #get list of public events for current user
        lstpublics = getUserEventsList(rdb, user_id, 'public')
        
        return template('userhomeajax.tpl',public_events=lstpublics,private_events=lstprivates,
                        invited_events=lstinvited, admin_events=lstadmin, get_url=url, 
                        logged_in=True, uid=user_id)
def login_route():
    logged_in = account.isLoggedIn()
    if logged_in:
        redirect('/userhome')
    else:
        return template('login.tpl', get_url=url, logged_in=logged_in)
def default_ajax(rdb):
    logged_in = account.isLoggedIn()
    events = event.getAllPublicEvents(rdb)

    return template('defaultajax.tpl', get_url=url, logged_in=logged_in, events=events)
Beispiel #13
0
def default_route():
    logged_in = account.isLoggedIn()
    
    return template('default.tpl', get_url=url, logged_in=logged_in)
def logout_route():
    if account.isLoggedIn():
        response.delete_cookie('account', secret='pass')
    redirect('/login')
def remuser_route():
    logged_in = account.isLoggedIn()
    if logged_in:
        return template('remadmin.tpl', get_url=url, logged_in=logged_in)
    else:
        redirect('/login')
def newItem_route():
    logged_in = account.isLoggedIn()
    if logged_in:
        return template('newitem.tpl', get_url=url, logged_in=logged_in)
    else:
        redirect('/login')
def newTask_route(user_id, event_id):
    logged_in = account.isLoggedIn()
    if logged_in:
        return template('newtask.tpl', get_url=url, logged_in=logged_in, event_id=event_id)
    else:
        redirect('/login')
Beispiel #18
0
def add_newtask(rdb, user_id, event_id):
    logged_in = account.isLoggedIn()
    if logged_in:
        return template('newtask.tpl', get_url=url, logged_in=logged_in, event_id=event_id)
    else:
        redirect('/userhome')
def signup_route():
    if account.isLoggedIn():
        redirect('/userhome')
    else:
        logged_in = False
        return template('signup.tpl', get_url=url, logged_in=logged_in)