diff -r 44a8b4a109fd -r de4e97ded3c6 alcatel/controller/DocumentaryFile.py --- a/alcatel/controller/DocumentaryFile.py Wed Sep 04 10:03:16 2013 +0200 +++ b/alcatel/controller/DocumentaryFile.py Tue Sep 10 13:25:16 2013 +0200 @@ -11,7 +11,6 @@ from dataparser.ClientDocumentaryFileAttributes import ClientDocumentaryFileAttributes from dataparser.ClientDocumentaryFileVisibilityAttributes import ClientDocumentaryFileVisibilityAttribute -from dataparser.ClientDocumentaryFileDeleteAttributes import ClientDocumentaryFileDeleteAttributes from document.models import Cluster from document.models import Image from document.models import Document @@ -58,6 +57,54 @@ return json + + def modify(self,attr): + logger.info('modify') + + logger.info('get_description = ' + str(attr.get_description().encode("utf8"))) + logger.info('get_title = ' + str(attr.get_title().encode("utf8"))) + logger.info('get_visibility = ' + str(attr.get_visibility())) + try: + documentaryfile = Documentaryfile.objects.get(pk=attr.get_documentary_file_id()) + except Documentaryfile.DoesNotExist: + json = '{"Error": "Invalid documentary id"}' + logger.info(json) + return json + + logger.info('documentaryfile.user.name = ' + str(documentaryfile.user.username)) + if documentaryfile.user.username == attr.get_user(): + if attr.get_visibility() == 'on': + visibility_attr = True + else: + visibility_attr = False + '''else: + json = '{"Error" : "Invalid visibility parameter"}' + logger.info(json) + return json''' + + for thecluster in documentaryfile.cluster_set.all(): + for thedocument in thecluster.document.all(): + for theannotationdoc in thedocument.annotationdocument_set.all(): + theannotationdoc.visibility = visibility_attr + theannotationdoc.save() + + title_attr = str(attr.get_title().encode("utf8")) + description_attr = str(attr.get_description().encode("utf8")) + + documentaryfile.visibility = visibility_attr + documentaryfile.title = title_attr + documentaryfile.description = description_attr + + documentaryfile.save() + json = '{"modif": ok "}' + logger.info(json) + else: + json = '{"Error": "User does not matched"}' + logger.info(json) + + return json + + def visibilityChange(self): logger.info('visibilityChange') attr = ClientDocumentaryFileVisibilityAttribute(self.request)