def add_deadline(context, request): logged_in = authenticated_userid(request) main = get_renderer('../templates/master.pt').implementation() schema = DeadlineSchema() deadlineform = Form(schema, buttons=('submit',),use_ajax=True) if 'dateDue' in request.params: try: controls = request.POST.items() captured = deadlineform.validate(controls) except deform.ValidationFailure, e: deadlineform = e.render() return {'red':'', 'main':main, 'form':deadlineform, 'content':'', 'logged_in':logged_in, 'name':'Add Deadline'} dateDue = calendarstuff.datetime_from_str(request.params['dateDue']) hours = request.params['hours'] sponsored = request.params['sponsored'] appliedClass = request.params['appliedClass'] context.count += 1 deadline = Deadline(dateDue,hours,sponsored,appliedClass,context.count) deadline.__parent__ = context context[str(context.count)] = deadline find_root(context)['activityLogs'].deadline_creation(find_root(request.context)["users"][logged_in],deadline,request.application_url) return {'red':'deadlines/', 'main':main, 'form':'', 'content':"Added a Deadline", 'logged_in':logged_in, 'name':'Redirecting...'}
def add_sponsored_event(context,request): logged_in = authenticated_userid(request) user = find_root(request.context)['users'][logged_in] main = get_renderer('../templates/master.pt').implementation() projectList = find_root(context)["settings"].projects projectTupleList = [] for project in projectList: projectTupleList.append((project,project)) projectTupleTuple=tuple(projectTupleList) #sorry about this. It was more fun than a ListList class SponsoredEventSchema(colander.MappingSchema): completionDate = colander.SchemaNode(colander.Date(),title="Completion Date (YYYY-MM-DD): ") hours = colander.SchemaNode(colander.Float(), title="Number of Hours: ") description = colander.SchemaNode( colander.String(), validator=colander.OneOf([x[0] for x in projectTupleTuple]), widget=deform.widget.RadioChoiceWidget(values=projectTupleTuple), title='Project', description='Select a Project') taskDescription = colander.SchemaNode( colander.String(), title="Description: ", widget=deform.widget.TextAreaWidget(rows=5, cols=40), description='Enter some text') contact = colander.SchemaNode(colander.String(),title="Contact Name: ") contactInfo = colander.SchemaNode(colander.String(),title="Contact Info: ") schema=SponsoredEventSchema() eventform = Form(schema, buttons=('submit',)) if 'taskDescription' in request.params: try: controls = request.POST.items() captured = eventform.validate(controls) except deform.ValidationFailure, e: eventform = e.render() return {'red':'', 'main':main, 'form':eventform, 'content':'', 'logged_in':logged_in, 'name':'Add Sponsored Event', 'TutText': getTutText(user, view='')} completionDate = calendarstuff.datetime_from_str(request.params['completionDate']) hours = request.params['hours'] description = request.params['deformField3'] taskDescription = request.params['taskDescription'] contact = request.params['contact'] contactInfo = request.params['contactInfo'] context.eventcount += 1 user = context.user event = Event("Sponsored","N/A",completionDate,hours,description,taskDescription,contact,contactInfo,user,context.eventcount) event.__parent__ = context context[str(context.eventcount)] = event activitylog = find_root(context)['activityLogs'] activitylog.event_creation(find_root(request.context)["users"][logged_in],event,request.application_url) return {'red':'serviceLogs/'+context.user.username, 'main':main, 'form':'', 'content':"Added sponsored event for "+description, 'logged_in':logged_in, 'name':'Redirecting...', 'TutText': getTutText(user, view='')}
def add_independent_event(context, request): logged_in = authenticated_userid(request) main = get_renderer("../templates/master.pt").implementation() schema = IndependentEventSchema() eventform = Form(schema, buttons=("submit",)) if "description" in request.params: try: controls = request.POST.items() captured = eventform.validate(controls) except deform.ValidationFailure, e: eventform = e.render() return { "red": "", "main": main, "form": eventform, "content": "", "logged_in": logged_in, "name": "Add Independent Event", } completionDate = calendarstuff.datetime_from_str(request.params["completionDate"]) hours = request.params["hours"] description = request.params["description"] taskDescription = request.params["taskDescription"] contact = request.params["contact"] contactInfo = request.params["contactInfo"] affects = request.params["affects"] context.eventcount += 1 user = context.user event = Event( "Independent", completionDate, hours, description, taskDescription, contact, contactInfo, user, context.eventcount, affects=affects, ) event.__parent__ = context context[str(context.eventcount)] = event activitylog = find_root(context)["activityLogs"] activitylog.event_creation(find_root(request.context)["users"][logged_in], event, request.application_url) return { "red": "serviceLogs/" + context.user.username, "main": main, "form": "", "content": "Added independent event for " + description, "logged_in": logged_in, "name": "Redirecting...", }
def add_independent_event(context,request): logged_in = authenticated_userid(request) user = find_root(request.context)['users'][logged_in] main = get_renderer('../templates/master.pt').implementation() schema = IndependentEventSchema() eventform = Form(schema, buttons=('submit',)) if 'description' in request.params: try: controls = request.POST.items() captured = eventform.validate(controls) except deform.ValidationFailure, e: eventform = e.render() return {'red':'', 'main':main, 'form':eventform, 'content':'', 'logged_in':logged_in, 'name':'Add Independent Event', 'TutText': getTutText(user, view='')} completionDate = calendarstuff.datetime_from_str(request.params['completionDate']) hours = request.params['hours'] description = request.params['description'] taskDescription = request.params['taskDescription'] contact = request.params['contact'] contactInfo = request.params['contactInfo'] affects = request.params['affects'] type = request.params['type'] context.eventcount += 1 user = context.user event = Event("Independent", type, completionDate, hours, description, taskDescription, contact,contactInfo, user, context.eventcount, affects=affects) event.__parent__ = context context[str(context.eventcount)]=event activitylog=find_root(context)['activityLogs'] activitylog.event_creation(find_root(request.context)["users"][logged_in],event,request.application_url) return {'red':'serviceLogs/'+context.user.username, 'main':main, 'form':'', 'content':"Added independent event for "+description, 'logged_in':logged_in, 'name':'Redirecting...', 'TutText': getTutText(user, view='')}
def edit_deadline(context,request): logged_in = authenticated_userid(request) user = find_root(request.context)['users'][logged_in] main = get_renderer('../templates/master.pt').implementation() schema = DeadlineEditSchema() deadlineform = Form(schema, buttons=('submit',),use_ajax=True) if 'dateDue' in request.params: try: controls = request.POST.items() captured = deadlineform.validate(controls) except deform.ValidationFailure, e: deadlineform = e.render() return {'red':'', 'main':main, 'form':deadlineform, 'content':'', 'logged_in':logged_in, 'name':'Edit Deadline', 'TutText': getTutText(user, view='')} if ('delete' in request.params) and (request.params['delete'] == "true"): activityLog = find_root(context)['activityLogs'] activityLog.deadline_deletion(find_root(request.context)["users"][logged_in],context,request.application_url) del context.__parent__[str(context.ID)] return {'red':'deadlines/', 'main':main, 'name':'Redirecting...', 'form':'', 'content':"Deleted this deadline", 'logged_in':logged_in, 'TutText': getTutText(user, view='')} dateDue = calendarstuff.datetime_from_str(request.params['dateDue']) context.hours = request.params['hours'] context.sponsored = request.params['sponsored'] context.appliedClass = request.params['appliedClass'] activityLog=find_root(context)['activityLogs'] activityLog.deadline_edit(find_root(request.context)["users"][logged_in],context,request.application_url) return {'red':'deadlines/', 'main':main, 'form':'', 'content':"Edited the Deadline", 'logged_in':logged_in, 'name':'Redirecting...', 'TutText': getTutText(user, view='')}
def edit_event(context,request): logged_in = authenticated_userid(request) user = find_root(request.context)['users'][logged_in] main = get_renderer('../templates/master.pt').implementation() activityLog = find_root(context)['activityLogs'] user = context.user if not logged_in == context.user.username: if not (find_root(context)['users'][logged_in].isAdvisor or find_root(context)['users'][logged_in].isOfficer): return {'red':'/serviceLogs/'+context.user.username+'/'+str(context.ID), 'main':main, 'form':"", 'content':'Permission Denied', 'logged_in':logged_in, 'name':"Redirecting...", 'TutText': getTutText(user, view='')} if context.verified == "Verified": if not (find_root(context)['users'][logged_in].isAdvisor or find_root(context)['users'][logged_in].isOfficer): return {'red':'/serviceLogs/'+context.user.username+'/'+str(context.ID), 'main':main, 'form':"", 'content':'Permission Denied', 'logged_in':logged_in, 'name':"Redirecting...", 'TutText': getTutText(user, view='')} if context.eventType == "Independent": schema = IndependentEventEditSchema() eventform = Form(schema, buttons=('submit',)) if 'description' in request.params: try: controls = request.POST.items() captured = eventform.validate(controls) except deform.ValidationFailure, e: eventform = e.render() return {'red':'', 'main':main, 'form':eventform, 'content':'', 'logged_in':logged_in, 'name':'Editing Independent Event', 'TutText': getTutText(user, view='EditEvent')} context.completionDate = calendarstuff.datetime_from_str(request.params['completionDate']) context.eventType = request.params['eventType'] if context.hours != request.params['hours']: if context.verified == "Verified": deltahours = float(request.params['hours'])-float(context.hours) user.hours += deltahours context.hours = request.params['hours'] context.description = request.params['description'] context.taskDescription = request.params['taskDescription'] context.contact = request.params['contact'] context.contactInfo = request.params['contactInfo'] activityLog.event_edit(find_root(request.context)["users"][logged_in],context,request.application_url) return {'red':'serviceLogs/'+context.user.username, 'main':main, 'form':'', 'content':'Edited the event for '+context.description, 'logged_in':logged_in, 'name':'Redirecting...', 'TutText': getTutText(user, view='')} appstruct={'completionDate':context.completionDate, 'hours':context.hours, 'description':context.description, 'taskDescription':context.taskDescription, 'contact':context.contact, 'contactInfo':context.contactInfo, 'eventType':context.eventType, 'TutText': getTutText(user, view='')} eventform = eventform.render(appstruct=appstruct) return {'red':'', 'main':main, 'form':eventform, 'content':'', 'logged_in':logged_in, 'name':'Editing Independent Event', 'TutText': getTutText(user, view='')}
schema=SponsoredEventSchema() eventform = Form(schema, buttons=('submit',)) if 'taskDescription' in request.params: try: controls = request.POST.items() captured = eventform.validate(controls) except deform.ValidationFailure, e: eventform = e.render() return {'red':'', 'main':main, 'form':eventform, 'content':'', 'logged_in':logged_in, 'name':'Attempting to Edit Event', 'TutText': getTutText(user, view='')} context.completionDate = calendarstuff.datetime_from_str(request.params['completionDate']) if context.hours != request.params['hours']: if context.verified == "Verified": deltahours = float(request.params['hours'])-float(context.hours) user.hours += deltahours context.hours = request.params['hours'] #context.description = request.params['description'] context.taskDescription = request.params['taskDescription'] context.contact = request.params['contact'] context.contactInfo = request.params['contactInfo'] activitylog = find_root(context)['activityLogs'] activitylog.event_edit(find_root(request.context)["users"][logged_in],context,request.application_url) return {'red':'serviceLogs/'+context.user.username, 'main':main, 'form':'', 'content':'Edited the event for '+context.description,
def add_sponsored_event(context, request): logged_in = authenticated_userid(request) main = get_renderer("../templates/master.pt").implementation() projectList = find_root(context)["settings"].projects projectTupleList = [] for project in projectList: projectTupleList.append((project, project)) projectTupleTuple = tuple(projectTupleList) # sorry about this. It was more fun than a ListList class SponsoredEventSchema(colander.MappingSchema): completionDate = colander.SchemaNode(colander.Date(), title="Completion Date (YYYY-MM-DD): ") hours = colander.SchemaNode(colander.Float(), title="Number of Hours: ") description = colander.SchemaNode( colander.String(), validator=colander.OneOf([x[0] for x in projectTupleTuple]), widget=deform.widget.RadioChoiceWidget(values=projectTupleTuple), title="Project", description="Select a Project", ) taskDescription = colander.SchemaNode( colander.String(), title="Description: ", widget=deform.widget.TextAreaWidget(rows=5, cols=40), description="Enter some text", ) contact = colander.SchemaNode(colander.String(), title="Contact Name: ") contactInfo = colander.SchemaNode(colander.String(), title="Contact Info: ") schema = SponsoredEventSchema() eventform = Form(schema, buttons=("submit",)) if "taskDescription" in request.params: try: controls = request.POST.items() captured = eventform.validate(controls) except deform.ValidationFailure, e: eventform = e.render() return { "red": "", "main": main, "form": eventform, "content": "", "logged_in": logged_in, "name": "Add Sponsored Event", } completionDate = calendarstuff.datetime_from_str(request.params["completionDate"]) hours = request.params["hours"] description = request.params["deformField3"] taskDescription = request.params["taskDescription"] contact = request.params["contact"] contactInfo = request.params["contactInfo"] context.eventcount += 1 user = context.user event = Event( "Sponsored", completionDate, hours, description, taskDescription, contact, contactInfo, user, context.eventcount, ) event.__parent__ = context context[str(context.eventcount)] = event activitylog = find_root(context)["activityLogs"] activitylog.event_creation(find_root(request.context)["users"][logged_in], event, request.application_url) return { "red": "serviceLogs/" + context.user.username, "main": main, "form": "", "content": "Added sponsored event for " + description, "logged_in": logged_in, "name": "Redirecting...", }
def edit_event(context, request): logged_in = authenticated_userid(request) main = get_renderer("../templates/master.pt").implementation() activityLog = find_root(context)["activityLogs"] user = context.user if not logged_in == context.user.username: if not (find_root(context)["users"][logged_in].isAdvisor or find_root(context)["users"][logged_in].isOfficer): return { "red": "/serviceLogs/" + context.user.username + "/" + str(context.ID), "main": main, "form": "", "content": "Permission Denied", "logged_in": logged_in, "name": "Redirecting...", } if context.verified == "Verified": if not (find_root(context)["users"][logged_in].isAdvisor or find_root(context)["users"][logged_in].isOfficer): return { "red": "/serviceLogs/" + context.user.username + "/" + str(context.ID), "main": main, "form": "", "content": "Permission Denied", "logged_in": logged_in, "name": "Redirecting...", } if context.eventType == "Independent": schema = IndependentEventEditSchema() eventform = Form(schema, buttons=("submit",)) if "description" in request.params: try: controls = request.POST.items() captured = eventform.validate(controls) except deform.ValidationFailure, e: eventform = e.render() return { "red": "", "main": main, "form": eventform, "content": "", "logged_in": logged_in, "name": "Editing Independent Event", } context.completionDate = calendarstuff.datetime_from_str(request.params["completionDate"]) context.eventType = request.params["eventType"] if context.hours != request.params["hours"]: if context.verified == "Verified": deltahours = float(request.params["hours"]) - float(context.hours) user.hours += deltahours context.hours = request.params["hours"] context.description = request.params["description"] context.taskDescription = request.params["taskDescription"] context.contact = request.params["contact"] context.contactInfo = request.params["contactInfo"] activityLog.event_edit(find_root(request.context)["users"][logged_in], context, request.application_url) return { "red": "serviceLogs/" + context.user.username, "main": main, "form": "", "content": "Edited the event for " + context.description, "logged_in": logged_in, "name": "Redirecting...", } appstruct = { "completionDate": context.completionDate, "hours": context.hours, "description": context.description, "taskDescription": context.taskDescription, "contact": context.contact, "contactInfo": context.contactInfo, "eventType": context.eventType, } eventform = eventform.render(appstruct=appstruct) return { "red": "", "main": main, "form": eventform, "content": "", "logged_in": logged_in, "name": "Editing Independent Event", }