add new changelog and call add_changelog all over the place

This commit is contained in:
j 2014-12-17 13:45:46 +00:00
commit 9e9bf30c42
27 changed files with 365 additions and 44 deletions

View file

@ -24,16 +24,13 @@ class News(models.Model):
def save(self, *args, **kwargs):
super(News, self).save(*args, **kwargs)
self.log()
def log(self):
c = Changelog(type='news')
c.value = self.json()
c.save()
def get_id(self):
return ox.toAZ(self.id)
def json(self, keys=None):
j = {
'id': ox.toAZ(self.id),
'id': self.get_id(),
'date': self.date,
'title': self.title,
'text': self.text,

View file

@ -9,6 +9,7 @@ from ox.django.shortcuts import render_to_json_response, get_object_or_404_json,
from ox.django.api import actions
from changelog.models import add_changelog
import models
@ -59,6 +60,7 @@ def addNews(request, data):
setattr(news, key, data[key])
news.save()
response = json_response(news.json())
add_changelog(request, data, news.get_id())
return render_to_json_response(response)
actions.register(addNews, cache=False)
@ -66,13 +68,14 @@ actions.register(addNews, cache=False)
def removeNews(request, data):
'''
takes {
ids: []
id: id
}
returns {}
'''
response = json_response({})
news = get_object_or_404_json(models.News, id=ox.fromAZ(data['id']))
if news.editable(request.user):
add_changelog(request, data)
news.delete()
response = json_response(status=200, text='news removed')
else:
@ -102,6 +105,7 @@ def editNews(request, data):
setattr(n, key, data[key])
n.save()
response['data'] = n.json()
add_changelog(request, data)
else:
response = json_response(status=403, text='permission denied')
return render_to_json_response(response)