diff options
Diffstat (limited to 'jm2l/views.py')
-rw-r--r-- | jm2l/views.py | 35 |
1 files changed, 28 insertions, 7 deletions
diff --git a/jm2l/views.py b/jm2l/views.py index 8cb5387..63d4b02 100644 --- a/jm2l/views.py +++ b/jm2l/views.py @@ -276,7 +276,7 @@ def list_view(request): tasks = DBSession.query( Tasks )\ .filter( Tasks.area_uid==grp.uid )\ .order_by(Tasks.closed, Tasks.due_date).all() - DicTask[grp.name] = tasks + DicTask[grp] = tasks return {'tasks': DicTask } @@ -312,10 +312,31 @@ def tasks(request): return {'form':form } +@view_config(route_name='handle_pole', renderer='jm2l:templates/Staff/pole.mako') +def tasks_area(request): + pole_id = request.matchdict.get('pole_id') + if pole_id: + Pole = TasksArea.by_id(int(pole_id)) + if not Pole: + raise HTTPNotFound() + form = EditStaffArea(request.POST, Pole, meta={'csrf_context': request.session}) + else: + Pole = TasksArea() + form = StaffArea(request.POST, Pole, meta={'csrf_context': request.session}) + if request.method == 'POST' and form.validate(): + form.populate_obj(Pole) + if 'uid' in form._fields.keys(): + DBSession.merge(Pole) + else: + DBSession.add(Pole) + return HTTPFound(location=request.route_url('list_task')) + return {'form':form } + @view_config(route_name='action_task') def action_task(request): action = request.matchdict.get('action') task_id = request.matchdict.get('task_id') + raise 'test' Task = Tasks.by_id(int(task_id)) if action=='close': Task.closed = True @@ -695,7 +716,7 @@ def edit_event(request): raise HTTPNotFound(u"Cette année n'est pas pris en charge") # Generate Timeslots for current year TimeSlots = list(enumerate( [ x.strftime('%a %d %b %H:%M') for x in - TheYear.AvailableTimeSlots ] )) + TheYear[0].AvailableTimeSlots ] )) if event_id: # We try to update an existing record @@ -711,8 +732,8 @@ def edit_event(request): if not (request.user.uid==1 or request.user in TheEvent.intervenants): return HTTPForbidden(u"Vous n'êtes pas identifié comme étant un participant à cette intervention.") # Compute some field value from selected event - if TheEvent.start_time in TheYear.AvailableTimeSlots: - start_sel = TheYear.AvailableTimeSlots.index(TheEvent.start_time) + if TheEvent.start_time in TheYear[0].AvailableTimeSlots: + start_sel = TheYear[0].AvailableTimeSlots.index(TheEvent.start_time) else: start_sel = len(TimeSlots) TimeSlots.append( (len(TimeSlots), TheEvent.start_time.strftime('%a %d %b %H:%M'))) @@ -778,7 +799,7 @@ def edit_event(request): if request.method == 'POST' and form.validate(): form.populate_obj(TheEvent) - TheEvent.start_time = TheYear.AvailableTimeSlots[form.start_sel.data] + TheEvent.start_time = TheYear[0].AvailableTimeSlots[form.start_sel.data] TheEvent.end_time = TheEvent.start_time + datetime.timedelta(minutes=form.duration.data) # Ok, time to put in database if not form._fields.has_key("uid"): @@ -814,7 +835,6 @@ def list_tiers(request): 'entities':Entities, 'logged_in':request.authenticated_userid } return MainTab - @view_config(route_name='show_entity', renderer="jm2l:templates/view_tiers.mako") def show_tiers(request): tiers_type = request.matchdict.get('tiers_type') @@ -831,6 +851,7 @@ def show_tiers(request): 'entity':TheTiers, 'logged_in':request.authenticated_userid } return MainTab +@view_config(route_name='add_entity', renderer="jm2l:templates/edit_tiers.mako") @view_config(route_name='edit_entity', renderer="jm2l:templates/edit_tiers.mako", permission='edit') def edit_tiers(request): @@ -892,7 +913,7 @@ def edit_tiers(request): DBSession.add(TheTiers) DBSession.flush() return HTTPFound(location=request.route_url('edit_entity', sep='/', - uid=str(TheTiers.uid), Nature=TheTiers.tiers_type)) + entity_id=str(TheTiers.slug), tiers_type=TheTiers.get_entity_type.entity_type)) DBSession.merge(TheTiers) return HTTPFound(location=request.route_url('entities')) MainTab = {'programme':'','presse':'', 'plan':'', 'participer':'', |