Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
7b65d64
Update db.py
rjzhao1 Oct 19, 2018
c978e6c
Update db.py
rjzhao1 Oct 19, 2018
9d7c544
Add files via upload
rjzhao1 Oct 19, 2018
236fd7d
Delete db.py
rjzhao1 Oct 19, 2018
1f46761
Add files via upload
rjzhao1 Oct 19, 2018
1ce7787
Update db.py
rjzhao1 Oct 19, 2018
efd1fef
testing
rjzhao1 Oct 19, 2018
f4205a6
testing 2
rjzhao1 Oct 19, 2018
4c653e7
Update db.py
rjzhao1 Oct 19, 2018
4e2cbc0
Update menu.py
rjzhao1 Oct 19, 2018
df456a9
Added function to display resource of user
rjzhao1 Oct 20, 2018
df96157
Added functions to add resources into the database
rjzhao1 Oct 28, 2018
0777a22
Add files via upload
rjzhao1 Nov 1, 2018
d5f587b
Added tabs for viewing your own resources and other users
rjzhao1 Nov 1, 2018
7e86a70
Added viewing other users id function
rjzhao1 Nov 1, 2018
3ff8e43
added html for list_id and list_resources function
rjzhao1 Nov 2, 2018
4d17a31
Uploaded Category functions
rjzhao1 Nov 26, 2018
3275ec8
Add files via upload
rjzhao1 Nov 26, 2018
ae4097d
Categories
rjzhao1 Nov 26, 2018
65b13a5
Made some changes to Category
rjzhao1 Nov 29, 2018
6e2a64b
Added all html pages
rjzhao1 Nov 29, 2018
a57a3d5
edit to menu
rjzhao1 Nov 29, 2018
f65da4f
Add files via upload
rjzhao1 Nov 29, 2018
b2f0ccf
Change add resource form
rjzhao1 Nov 30, 2018
2bac9b7
removed search bars and added images
rjzhao1 Nov 30, 2018
12690cc
added images
rjzhao1 Nov 30, 2018
ec85b8d
added search button
rjzhao1 Nov 30, 2018
38e68a9
added list_single_resource function
rjzhao1 Dec 1, 2018
67d1167
Updated HTML to Link to list single resource
rjzhao1 Dec 1, 2018
a6f5575
fixed bug for add resources
rjzhao1 Dec 1, 2018
8a464d5
Fixed bug for Delete resources
rjzhao1 Dec 1, 2018
85aeade
added error checking into db
rjzhao1 Dec 9, 2018
8c279ea
Add files via upload
rjzhao1 Dec 10, 2018
b155a00
Made category a drop down menu
rjzhao1 Dec 10, 2018
cb91e82
fixed resources bug
rjzhao1 Dec 10, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
188 changes: 130 additions & 58 deletions controllers/default.py
Original file line number Diff line number Diff line change
@@ -1,58 +1,130 @@
# -*- coding: utf-8 -*-
# -------------------------------------------------------------------------
# This is a sample controller
# this file is released under public domain and you can use without limitations
# -------------------------------------------------------------------------

# ---- example index page ----
def index():
response.flash = T("Hello World")
return dict(message=T('Welcome to web2py!'))

# ---- API (example) -----
@auth.requires_login()
def api_get_user_email():
if not request.env.request_method == 'GET': raise HTTP(403)
return response.json({'status':'success', 'email':auth.user.email})

# ---- Smart Grid (example) -----
@auth.requires_membership('admin') # can only be accessed by members of admin groupd
def grid():
response.view = 'generic.html' # use a generic view
tablename = request.args(0)
if not tablename in db.tables: raise HTTP(403)
grid = SQLFORM.smartgrid(db[tablename], args=[tablename], deletable=False, editable=False)
return dict(grid=grid)

# ---- Embedded wiki (example) ----
def wiki():
auth.wikimenu() # add the wiki to the menu
return auth.wiki()

# ---- Action for login/register/etc (required for auth) -----
def user():
"""
exposes:
http://..../[app]/default/user/login
http://..../[app]/default/user/logout
http://..../[app]/default/user/register
http://..../[app]/default/user/profile
http://..../[app]/default/user/retrieve_password
http://..../[app]/default/user/change_password
http://..../[app]/default/user/bulk_register
use @auth.requires_login()
@auth.requires_membership('group name')
@auth.requires_permission('read','table name',record_id)
to decorate functions that need access control
also notice there is http://..../[app]/appadmin/manage/auth to allow administrator to manage users
"""
return dict(form=auth())

# ---- action to server uploaded static content (required) ---
@cache.action()
def download():
"""
allows downloading of uploaded files
http://..../[app]/default/download/[filename]
"""
return response.download(request, db)
# -*- coding: utf-8 -*-
# -------------------------------------------------------------------------
# This is a sample controller
# this file is released under public domain and you can use without limitations
# -------------------------------------------------------------------------

#https://helpmehelpyou/deafult/list_user_resources/user_id/page
#https://helpmehelpyou/deafult/list_user_resources/category/

# ---- example index page ----
def index():
return dict(message=T('Welcome to HelpYouHelpMe'))


def list_resources():
user_id = request.args(0,cast=int)
row=db(db.resources.resource_owner==user_id).select()
return locals()

def delete_resource():
user_id = request.args(0,cast=int)
db(db.resources.resources_id == request.vars.resources_id).delete()
row = db(db.resources.resource_owner==user_id).select()
return locals()

def list_id():
row = db(db.auth_user).select()
return locals()

def list_resource_by_category():
category_name = request.args(0)
category=db.category(Name=category_name)
row = db(db.resources.resources_category==category).select()
return locals()

def add_resources():
user_id = session.auth.user.id
db.resources.resource_owner.default = user_id
form = SQLFORM(db.resources).process(next=URL('list_resources',args = user_id))
return locals()

def edit_resource():
user_id = request.args(0,cast=int)
edit_id = request.vars.resources_id
edit_type = request.vars.resources_type
edit_qty = request.vars.resources_qty
try:
db(db.resources.resources_id == edit_id).update(resources_type = edit_type)
except:
pass
try:
db(db.resources.resources_id == edit_id).update(resources_qty = edit_qty)
except:
pass
specifications = db(db.resources.resource_owner==user_id).select()
return locals()

def profile():
return dict(form=auth.profile())

def category():
row = db(db.category).select()
return locals()

def test():
form = SQLFORM(db.resources)
return locals()

def search_resource():
form = SQLFORM.factory(Field('title', requires=IS_NOT_EMPTY()))
if form.accepts(request):
tokens = form.vars.title.split()
query = reduce(lambda a,b:a&b,[db.resources.resources_type.contains(k) for k in tokens])
people = db(query).select()
else:
people= []
return dict(form=form,result=people)

def list_single_resource():
resource_id = request.args(0,cast=int)
row=db(db.resources.resources_id==resource_id).select()
return locals()

# ---- API (example) -----
@auth.requires_login()
def api_get_user_email():
if not request.env.request_method == 'GET': raise HTTP(403)
return response.json({'status':'success', 'email':auth.user.email})

# ---- Smart Grid (example) -----
@auth.requires_membership('admin') # can only be accessed by members of admin groupd
def grid():
response.view = 'generic.html' # use a generic view
tablename = request.args(0)
if not tablename in db.tables: raise HTTP(403)
grid = SQLFORM.smartgrid(db[tablename], args=[tablename], deletable=False, editable=False)
return dict(grid=grid)

# ---- Embedded wiki (example) ----
def wiki():
auth.wikimenu() # add the wiki to the menu
return auth.wiki()

# ---- Action for login/register/etc (required for auth) -----
def user():
"""
exposes:
http://..../[app]/default/user/login
http://..../[app]/default/user/logout
http://..../[app]/default/user/register
http://..../[app]/default/user/profile
http://..../[app]/default/user/retrieve_password
http://..../[app]/default/user/change_password
http://..../[app]/default/user/bulk_register
use @auth.requires_login()
@auth.requires_membership('group name')
@auth.requires_permission('read','table name',record_id)
to decorate functions that need access control
also notice there is http://..../[app]/appadmin/manage/auth to allow administrator to manage users
"""
return dict(form=auth())

# ---- action to server uploaded static content (required) ---
@cache.action()
def download():
"""
allows downloading of uploaded files
http://..../[app]/default/download/[filename]
"""
return response.download(request, db)
77 changes: 77 additions & 0 deletions default.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# -*- coding: utf-8 -*-
# -------------------------------------------------------------------------
# This is a sample controller
# this file is released under public domain and you can use without limitations
# -------------------------------------------------------------------------

#https://helpmehelpyou/deafult/list_user_resources/user_id/page
# ---- example index page ----
def index():
response.flash = T("Hello World")
return dict(message=T('Welcome to HelpYouHelpMe'))

def list_resources():
user_id = request.args(0,cast=int)
row=db(db.resources.resource_owner==user_id).select()
return locals()

def list_id():
row = db(db.auth_user).select()
return locals()

def add_resources():
form = SQLFORM(db.resources).process(next='list_user_resources/[resource_owner]')
return locals()

def edit_resources():
user_id = request.args(0,cast=int)
form = SQLFORM(db.resources,id).process('list_user_resources/[resource_owner]')
return locals()

# ---- API (example) -----
@auth.requires_login()
def api_get_user_email():
if not request.env.request_method == 'GET': raise HTTP(403)
return response.json({'status':'success', 'email':auth.user.email})

# ---- Smart Grid (example) -----
@auth.requires_membership('admin') # can only be accessed by members of admin groupd
def grid():
response.view = 'generic.html' # use a generic view
tablename = request.args(0)
if not tablename in db.tables: raise HTTP(403)
grid = SQLFORM.smartgrid(db[tablename], args=[tablename], deletable=False, editable=False)
return dict(grid=grid)

# ---- Embedded wiki (example) ----
def wiki():
auth.wikimenu() # add the wiki to the menu
return auth.wiki()

# ---- Action for login/register/etc (required for auth) -----
def user():
"""
exposes:
http://..../[app]/default/user/login
http://..../[app]/default/user/logout
http://..../[app]/default/user/register
http://..../[app]/default/user/profile
http://..../[app]/default/user/retrieve_password
http://..../[app]/default/user/change_password
http://..../[app]/default/user/bulk_register
use @auth.requires_login()
@auth.requires_membership('group name')
@auth.requires_permission('read','table name',record_id)
to decorate functions that need access control
also notice there is http://..../[app]/appadmin/manage/auth to allow administrator to manage users
"""
return dict(form=auth())

# ---- action to server uploaded static content (required) ---
@cache.action()
def download():
"""
allows downloading of uploaded files
http://..../[app]/default/download/[filename]
"""
return response.download(request, db)
32 changes: 32 additions & 0 deletions menu.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# -*- coding: utf-8 -*-
# this file is released under public domain and you can use without limitations

# ----------------------------------------------------------------------------------------------------------------------
# this is the main application menu add/remove items as required
# ----------------------------------------------------------------------------------------------------------------------

response.menu = [
(T('Home'), False, URL('default', 'index'), [])
]
if session.auth:
user_id = session.auth.user.id
else:
user_id = None

response.menu += [
(T('Resources'), False,'#', [
(T('My Resource'), False,URL('list_resources',args = user_id) if session.auth else URL('default','index')),
(T('List Users'), False, URL('list_id')),
((T('Add Resources'), False, URL('add_resources') if session.auth else URL('default','index'))),
(T('Delete Resources'), False, URL('delete_resource',args = user_id) if session.auth else URL('default','index'))
]
)
]

response.menu += [
((T('Category'),False, '#', [
(T(row.Name), False, URL('list_resource_by_category',args=row.Name), []) for row in db(db.category).select()]))
]
# ----------------------------------------------------------------------------------------------------------------------
# provide shortcuts for development. you can remove everything below in production
# ----------------------------------------------------------------------------------------------------------------------
Loading