# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
+from django.http import Http404
from django.views.generic import CreateView, DeleteView, DetailView, UpdateView, TemplateView
from .models import Note
class NoteView(DetailView):
model = Note
+ def get(self, request, *args, **kwargs):
+ if kwargs.get('year'):
+ # check date does match
+ note = self.get_object()
+ creation = self.get_object().creation_timestamp
+ if (creation.year, creation.month, creation.day) != (
+ int(kwargs['year']),
+ int(kwargs['month']),
+ int(kwargs['day']),
+ ):
+ raise Http404()
+ return super(NoteView, self).get(request, *args, **kwargs)
+
class NoteEditView(UpdateView):
model = Note