From 85c3f9068fae9c153edcff6579fd6e50f051b1d9 Mon Sep 17 00:00:00 2001 From: piernov Date: Sun, 1 Mar 2015 03:05:46 +0100 Subject: "Retour à la liste" link now goes back to the previous area + current area now being selected when creating new task MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jm2l/templates/Staff/list.mako | 4 ++-- jm2l/templates/Staff/tasks.mako | 4 ++-- jm2l/views.py | 25 +++++++++++++++++++------ 3 files changed, 23 insertions(+), 10 deletions(-) diff --git a/jm2l/templates/Staff/list.mako b/jm2l/templates/Staff/list.mako index a7abbf9..fbee9e5 100644 --- a/jm2l/templates/Staff/list.mako +++ b/jm2l/templates/Staff/list.mako @@ -32,7 +32,7 @@ from slugify import slugify - + Ajouter une tâche Liste des tâches @@ -95,4 +95,4 @@ from slugify import slugify $('a[href="' + location.hash + '"]').tab('show'); } - \ No newline at end of file + diff --git a/jm2l/templates/Staff/tasks.mako b/jm2l/templates/Staff/tasks.mako index 0f26c54..30da49d 100644 --- a/jm2l/templates/Staff/tasks.mako +++ b/jm2l/templates/Staff/tasks.mako @@ -30,7 +30,7 @@ -Retour à la liste +Retour à la liste % if 'uid' in form._fields.keys():

Editer une tâche

% else: @@ -57,4 +57,4 @@ DicForm = { % if 'uid' in form._fields.keys(): ${helpers.uploader("tasks", form.uid.data, u"une pièce jointe" )} -%endif \ No newline at end of file +%endif diff --git a/jm2l/views.py b/jm2l/views.py index 7c89c40..f6bae52 100644 --- a/jm2l/views.py +++ b/jm2l/views.py @@ -276,6 +276,20 @@ def list_view(request): @view_config(route_name='handle_task', renderer='jm2l:templates/Staff/tasks.mako') def tasks(request): task_id = request.matchdict.get('task_id') + # Convert the pole_id GET parameter to int or 0 + try: + pole_id = int(request.params.get('pole_id')) + except (ValueError, TypeError): + pole_id = 0 + + # Get areas from db + Areas = DBSession.query(TasksArea.uid, TasksArea.name)\ + .order_by('name').all() + # Get users from db + Users = DBSession.query(User)\ + .filter(User.Staff==1)\ + .order_by('nom').all() + if task_id: Task = Tasks.by_id(int(task_id)) if not Task: @@ -283,17 +297,16 @@ def tasks(request): form = EditStaffTasks(request.POST, Task, meta={'csrf_context': request.session}) else: Task = Tasks() + # Check if the supplied pole_id is in the Areas' range + Task.area_uid = pole_id if 1 < pole_id <= len(Areas) else 1 form = StaffTasks(request.POST, Task, meta={'csrf_context': request.session}) + # Put some areas on form - Areas = DBSession.query(TasksArea.uid, TasksArea.name)\ - .order_by('name').all() form.area_uid.choices = Areas # Put some users on form - Users = DBSession.query(User)\ - .filter(User.Staff==1)\ - .order_by('nom').all() form.closed_by.choices = [(u.uid, "%s %s" % (u.nom, u.prenom)) for u in Users] + form.due_date.type = "date" if request.method == 'POST' and form.validate(): form.populate_obj(Task) @@ -304,7 +317,7 @@ def tasks(request): DBSession.add(Task) DBSession.flush() return HTTPFound(location=request.route_url('list_task')+"#"+slugify(Task.area.name)) - return {'form':form } + return {'form':form, 'area':slugify(Areas[Task.area_uid-1].name)} @view_config(route_name='handle_pole', renderer='jm2l:templates/Staff/pole.mako') -- cgit v1.2.3-70-g09d2