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 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...", }