diff --git a/agenda/routes.py b/agenda/routes.py index cc28c91..aa596d2 100644 --- a/agenda/routes.py +++ b/agenda/routes.py @@ -1,11 +1,6 @@ def includeme(config): """ - Quando entender como funciona, voce pode terminar a app. - O que falta? - Deletar uma agenda - - add_route(nome_da_rota, url) config.scan(view_file) Depois de definidas as rotas, o scan verifica se os route_name das Views @@ -15,6 +10,7 @@ def includeme(config): config.add_route('items', '/items/{agenda_id}') config.add_route('new_agenda', '/new_agenda') config.add_route('edit_agenda', '/edit_agenda/{agenda_id}') + config.add_route('delete_agenda', '/delete_agenda/{agenda_id}') config.add_route('new_item', '/items/{agenda_id}/new_item') config.add_route('edit_item', '/items/{agenda_id}/edit_item/{item_id}') config.add_route('delete_item', '/items/{agenda_id}/delete_item/{item_id}') diff --git a/agenda/templates/index.html b/agenda/templates/index.html index a2be2f9..115c5f5 100644 --- a/agenda/templates/index.html +++ b/agenda/templates/index.html @@ -17,6 +17,9 @@ Editar + + Apagar + {% endfor %} diff --git a/agenda/views.py b/agenda/views.py index a574539..d930838 100644 --- a/agenda/views.py +++ b/agenda/views.py @@ -1,3 +1,5 @@ +# -*- coding: utf-8 -*- + from pyramid.httpexceptions import HTTPFound from pyramid.response import Response from pyramid.view import view_config @@ -48,6 +50,17 @@ def new_item(request): return {'form': form} +""" +Está aceitando apagar agenda via get apenas por simplicidade +isso não é uma boa pratica +""" +@view_config(route_name='delete_agenda') +def delete_agenda(request): + agenda = Agenda.by_id(request.matchdict.get('agenda_id')) + request.db.delete(agenda) + home_url = request.route_url('home') + return HTTPFound(location=home_url) + @view_config(route_name='delete_item', renderer='json') def delete_item(request): item = ItemAgenda.by_id(request.matchdict['item_id'])