forked from 0x2620/pandora
remove debug, use action since function causes parsing errors in safari
This commit is contained in:
parent
21f8710b38
commit
6f18e50b8b
3 changed files with 69 additions and 21 deletions
|
@ -163,7 +163,7 @@ class Movie(models.Model):
|
||||||
return getattr(self.imdb, key)
|
return getattr(self.imdb, key)
|
||||||
return default
|
return default
|
||||||
|
|
||||||
def editable(user):
|
def editable(self, user):
|
||||||
#FIXME: make permissions work
|
#FIXME: make permissions work
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
@ -977,7 +977,7 @@ class List(models.Model):
|
||||||
def __unicode__(self):
|
def __unicode__(self):
|
||||||
return u'%s (%s)' % (self.title, unicode(self.user))
|
return u'%s (%s)' % (self.title, unicode(self.user))
|
||||||
|
|
||||||
def editable(user):
|
def editable(self, user):
|
||||||
#FIXME: make permissions work
|
#FIXME: make permissions work
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
@ -1132,7 +1132,7 @@ class File(models.Model):
|
||||||
#FIXME: do stuff, like create timeline or create smaller videos etc
|
#FIXME: do stuff, like create timeline or create smaller videos etc
|
||||||
return
|
return
|
||||||
|
|
||||||
def editable(user):
|
def editable(self, user):
|
||||||
#FIXME: make permissions work
|
#FIXME: make permissions work
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
@ -1162,7 +1162,7 @@ class Layer(models.Model):
|
||||||
#FIXME: relational layers, Locations, clips etc
|
#FIXME: relational layers, Locations, clips etc
|
||||||
#location = models.ForeignKey('Location', default=None)
|
#location = models.ForeignKey('Location', default=None)
|
||||||
|
|
||||||
def editable(user):
|
def editable(self, user):
|
||||||
#FIXME: make permissions work
|
#FIXME: make permissions work
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
@ -1177,9 +1177,8 @@ class Archive(models.Model):
|
||||||
def __unicode__(self):
|
def __unicode__(self):
|
||||||
return '%s' % (self.name)
|
return '%s' % (self.name)
|
||||||
|
|
||||||
def editable(user):
|
def editable(self, user):
|
||||||
#FIXME: make permissions work
|
return self.users.filter(id=user.id).count() > 0
|
||||||
return False
|
|
||||||
|
|
||||||
|
|
||||||
class ArchiveFile(models.Model):
|
class ArchiveFile(models.Model):
|
||||||
|
|
|
@ -35,9 +35,9 @@ def api(request):
|
||||||
#response = render_to_json_response({'status': {'code': 200, 'text': 'please use POST'}})
|
#response = render_to_json_response({'status': {'code': 200, 'text': 'please use POST'}})
|
||||||
#response['Access-Control-Allow-Origin'] = '*'
|
#response['Access-Control-Allow-Origin'] = '*'
|
||||||
return response
|
return response
|
||||||
if not 'function' in request.POST:
|
if not 'action' in request.POST:
|
||||||
return apidoc(request)
|
return apidoc(request)
|
||||||
function = request.POST['function']
|
function = request.POST['action']
|
||||||
#FIXME: possible to do this in f
|
#FIXME: possible to do this in f
|
||||||
#data = json.loads(request.POST['data'])
|
#data = json.loads(request.POST['data'])
|
||||||
|
|
||||||
|
@ -347,6 +347,64 @@ def api_removeList(request):
|
||||||
response = {'status': {'code': 501, 'text': 'not implemented'}}
|
response = {'status': {'code': 501, 'text': 'not implemented'}}
|
||||||
return render_to_json_response(response)
|
return render_to_json_response(response)
|
||||||
|
|
||||||
|
@login_required_json
|
||||||
|
def api_addArchive(request):
|
||||||
|
'''
|
||||||
|
ARCHIVE API NEED CLEANUP
|
||||||
|
param data
|
||||||
|
{name: string}
|
||||||
|
return {'status': {'code': int, 'text': string},
|
||||||
|
'data': {}}
|
||||||
|
'''
|
||||||
|
data = json.loads(request.POST['data'])
|
||||||
|
try:
|
||||||
|
archive = models.Archive.objects.get(name=data['name'])
|
||||||
|
response = {'status': {'code': 403, 'text': 'archive with this name exists'}}
|
||||||
|
except models.Archive.DoesNotExist:
|
||||||
|
archive = models.Archive(name=data['name'])
|
||||||
|
archive.save()
|
||||||
|
archive.users.add(request.user)
|
||||||
|
response = {'status': {'code': 200, 'text': 'archive created'}}
|
||||||
|
return render_to_json_response(response)
|
||||||
|
|
||||||
|
@login_required_json
|
||||||
|
def api_editArchive(request):
|
||||||
|
'''
|
||||||
|
ARCHIVE API NEED CLEANUP
|
||||||
|
param data
|
||||||
|
{id: string, key: value,..}
|
||||||
|
return {'status': {'code': int, 'text': string},
|
||||||
|
'data': {}}
|
||||||
|
'''
|
||||||
|
data = json.loads(request.POST['data'])
|
||||||
|
item = get_object_or_404_json(models.Archive, name=data['name'])
|
||||||
|
if item.editable(request.user):
|
||||||
|
response = {'status': {'code': 501, 'text': 'not implemented'}}
|
||||||
|
item.edit(data)
|
||||||
|
else:
|
||||||
|
response = {'status': {'code': 403, 'text': 'permission denied'}}
|
||||||
|
return render_to_json_response(response)
|
||||||
|
|
||||||
|
@login_required_json
|
||||||
|
def api_removeArchive(request):
|
||||||
|
'''
|
||||||
|
ARCHIVE API NEED CLEANUP
|
||||||
|
param data
|
||||||
|
string id
|
||||||
|
|
||||||
|
return {'status': {'code': int, 'text': string}}
|
||||||
|
'''
|
||||||
|
response = {'status': {'code': 200, 'text': 'ok'}}
|
||||||
|
itemId = json.loads(request.POST['data'])
|
||||||
|
item = get_object_or_404_json(models.Archive, movieId=itemId)
|
||||||
|
if item.editable(request.user):
|
||||||
|
response = {'status': {'code': 501, 'text': 'not implemented'}}
|
||||||
|
else:
|
||||||
|
response = {'status': {'code': 403, 'text': 'permission denied'}}
|
||||||
|
return render_to_json_response(response)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#@login_required_json
|
#@login_required_json
|
||||||
def api_update(request):
|
def api_update(request):
|
||||||
'''
|
'''
|
||||||
|
@ -363,11 +421,10 @@ def api_update(request):
|
||||||
needs_data = []
|
needs_data = []
|
||||||
rename = {}
|
rename = {}
|
||||||
for oshash in files:
|
for oshash in files:
|
||||||
print 'checking', oshash
|
|
||||||
data = files[oshash]
|
data = files[oshash]
|
||||||
q = models.ArchiveFile.objects.filter(archive=archive, file__oshash=oshash)
|
q = models.ArchiveFile.objects.filter(archive=archive, file__oshash=oshash)
|
||||||
if q.count() == 0:
|
if q.count() == 0:
|
||||||
print "adding file", oshash, data['path']
|
#print "adding file", oshash, data['path']
|
||||||
f = models.ArchiveFile.get_or_create(archive, oshash)
|
f = models.ArchiveFile.get_or_create(archive, oshash)
|
||||||
f.update(data)
|
f.update(data)
|
||||||
if not f.file.movie:
|
if not f.file.movie:
|
||||||
|
@ -382,7 +439,7 @@ def api_update(request):
|
||||||
needs_data.append(oshash)
|
needs_data.append(oshash)
|
||||||
if f.path != f.file.path:
|
if f.path != f.file.path:
|
||||||
rename[oshash] = f.file.path
|
rename[oshash] = f.file.path
|
||||||
print "processed files for", archive.name
|
#print "processed files for", archive.name
|
||||||
#remove all files not in files.keys() from ArchiveFile
|
#remove all files not in files.keys() from ArchiveFile
|
||||||
response = {'status': {'code': 200, 'text': 'ok'}, 'data': {}}
|
response = {'status': {'code': 200, 'text': 'ok'}, 'data': {}}
|
||||||
response['data']['info'] = needs_data
|
response['data']['info'] = needs_data
|
||||||
|
@ -401,7 +458,7 @@ def api_upload(request): #video, timeline, frame
|
||||||
'''
|
'''
|
||||||
data = json.loads(request.POST['data'])
|
data = json.loads(request.POST['data'])
|
||||||
if data['item'] == 'timeline':
|
if data['item'] == 'timeline':
|
||||||
print "not implemented"
|
#print "not implemented"
|
||||||
|
|
||||||
response = {'status': {'code': 501, 'text': 'not implemented'}}
|
response = {'status': {'code': 501, 'text': 'not implemented'}}
|
||||||
return render_to_json_response(response)
|
return render_to_json_response(response)
|
||||||
|
|
|
@ -24,8 +24,6 @@ def api_login(request):
|
||||||
|
|
||||||
return {'status': {'code': int, 'text': string}}
|
return {'status': {'code': int, 'text': string}}
|
||||||
'''
|
'''
|
||||||
print "lgin"
|
|
||||||
|
|
||||||
response = {'status': {'code': 403, 'text': 'login failed'}}
|
response = {'status': {'code': 403, 'text': 'login failed'}}
|
||||||
data = json.loads(request.POST['data'])
|
data = json.loads(request.POST['data'])
|
||||||
form = LoginForm(data, request.FILES)
|
form = LoginForm(data, request.FILES)
|
||||||
|
@ -38,7 +36,6 @@ def api_login(request):
|
||||||
response = {'status': {'code': 200, 'message': 'You are logged in.', 'user': user_json}}
|
response = {'status': {'code': 200, 'message': 'You are logged in.', 'user': user_json}}
|
||||||
else:
|
else:
|
||||||
response = {'status': {'code': 403, 'text': 'Your account is disabled.'}}
|
response = {'status': {'code': 403, 'text': 'Your account is disabled.'}}
|
||||||
print "Your account has been disabled!"
|
|
||||||
else:
|
else:
|
||||||
response = {'status': {'code': 403, 'text': 'Your username and password were incorrect.'}}
|
response = {'status': {'code': 403, 'text': 'Your username and password were incorrect.'}}
|
||||||
else:
|
else:
|
||||||
|
@ -70,15 +67,12 @@ def api_register(request):
|
||||||
|
|
||||||
return {'status': {'code': int, 'text': string}}
|
return {'status': {'code': int, 'text': string}}
|
||||||
'''
|
'''
|
||||||
print "register"
|
|
||||||
data = json.loads(request.POST['data'])
|
data = json.loads(request.POST['data'])
|
||||||
form = RegisterForm(data, request.FILES)
|
form = RegisterForm(data, request.FILES)
|
||||||
if form.is_valid():
|
if form.is_valid():
|
||||||
if models.User.objects.filter(username=form.data['username']).count() > 0:
|
if models.User.objects.filter(username=form.data['username']).count() > 0:
|
||||||
print "username taken", form.data['username']
|
|
||||||
response = {'status': {'code':422, 'text': 'username or email exists'}}
|
response = {'status': {'code':422, 'text': 'username or email exists'}}
|
||||||
elif models.User.objects.filter(email=form.data['email']).count() > 0:
|
elif models.User.objects.filter(email=form.data['email']).count() > 0:
|
||||||
print "username taken", form.data['email']
|
|
||||||
response = {'status': {'code':422, 'text': 'username or email exists'}}
|
response = {'status': {'code':422, 'text': 'username or email exists'}}
|
||||||
else:
|
else:
|
||||||
user = models.User(username=form.data['username'], email=form.data['email'])
|
user = models.User(username=form.data['username'], email=form.data['email'])
|
||||||
|
@ -89,8 +83,6 @@ def api_register(request):
|
||||||
login(request, user)
|
login(request, user)
|
||||||
response = {'status': {'code':200, 'text': 'account created'}}
|
response = {'status': {'code':200, 'text': 'account created'}}
|
||||||
else:
|
else:
|
||||||
print "form invalid"
|
|
||||||
print form.errors
|
|
||||||
response = {'status': {'code':422, 'text': 'username exists'}}
|
response = {'status': {'code':422, 'text': 'username exists'}}
|
||||||
return render_to_json_response(response)
|
return render_to_json_response(response)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue