def folder_create(request): Permission.objects.check_permissions(request.user, [PERMISSION_FOLDER_CREATE]) if request.method == 'POST': form = FolderForm(request.POST) if form.is_valid(): folder, created = Folder.objects.get_or_create( user=request.user, title=form.cleaned_data['title']) if created: apply_default_acls(folder, request.user) messages.success(request, _(u'Folder created successfully')) return HttpResponseRedirect(reverse('folder_list')) else: messages.error( request, _(u'A folder named: %s, already exists.') % form.cleaned_data['title']) else: form = FolderForm() return render_to_response('generic_form.html', { 'title': _(u'create folder'), 'form': form, }, context_instance=RequestContext(request))
def tag_create(request): Permission.objects.check_permissions(request.user, [PERMISSION_TAG_CREATE]) redirect_url = reverse('tag_list') previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', redirect_url))) if request.method == 'POST': form = TagForm(request.POST) if form.is_valid(): tag_name = form.cleaned_data['name'] if tag_name in Tag.objects.values_list('name', flat=True): messages.error(request, _(u'Tag already exists.')) return HttpResponseRedirect(previous) tag = Tag(name=tag_name) tag.save() TagProperties(tag=tag, color=form.cleaned_data['color']).save() apply_default_acls(tag, request.user) messages.success(request, _(u'Tag created succesfully.')) return HttpResponseRedirect(redirect_url) else: form = TagForm() return render_to_response('generic_form.html', { 'title': _(u'create tag'), 'form': form, }, context_instance=RequestContext(request))
def upload_single_file(self, file_object, filename=None, use_file_name=False, document_type=None, metadata_dict_list=None, user=None, document=None, new_version_data=None): new_document = not document if not document: document = Document() if document_type: document.document_type = document_type document.save() apply_default_acls(document, user) if user: document.add_as_recent_document_for_user(user) create_history(HISTORY_DOCUMENT_CREATED, document, {'user': user}) else: create_history(HISTORY_DOCUMENT_CREATED, document) else: if use_file_name: filename = None else: filename = filename if filename else document.latest_version.filename if not new_version_data: new_version_data = {} try: new_version = document.new_version(file=file_object, user=user, **new_version_data) except Exception: # Don't leave the database in a broken state # document.delete() transaction.rollback() raise if filename: document.rename(filename) transformations, errors = self.get_transformation_list() new_version.apply_default_transformations(transformations) #TODO: new HISTORY for version updates if metadata_dict_list and new_document: # Only do for new documents save_metadata_list(metadata_dict_list, document, create=True) warnings = update_indexes(document) return document
def save(self, *args, **kwargs): user = kwargs.pop('user', None) new_document = not self.pk super(Document, self).save(*args, **kwargs) if new_document: apply_default_acls(self, user) if user: self.add_as_recent_document_for_user(user) event_document_create.commit(actor=user, target=self) else: event_document_create.commit(target=self)
def index_setup_create(request): Permission.objects.check_permissions(request.user, [PERMISSION_DOCUMENT_INDEXING_CREATE]) if request.method == "POST": form = IndexForm(request.POST) if form.is_valid(): index = form.save() apply_default_acls(index, request.user) messages.success(request, _(u"Index created successfully.")) return HttpResponseRedirect(reverse("index_setup_list")) else: form = IndexForm() return render_to_response( "generic_form.html", {"title": _(u"create index"), "form": form}, context_instance=RequestContext(request) )
def upload_single_file(self, file_object, filename=None, use_file_name=False, document_type=None, metadata_dict_list=None, user=None, document=None, new_version_data=None, description=None): new_document = not document if not document: document = Document() if document_type: document.document_type = document_type if description: document.description = description document.save() apply_default_acls(document, user) if user: document.add_as_recent_document_for_user(user) create_history(HISTORY_DOCUMENT_CREATED, document, {'user': user}) else: create_history(HISTORY_DOCUMENT_CREATED, document) else: if use_file_name: filename = None else: filename = filename if filename else document.latest_version.filename if description: document.description = description document.save() if not new_version_data: new_version_data = {} new_version = document.new_version(file=file_object, user=user, **new_version_data) if filename: document.rename(filename) transformations, errors = self.get_transformation_list() new_version.apply_default_transformations(transformations) # TODO: new HISTORY for version updates if metadata_dict_list and new_document: # Only do for new documents save_metadata_list(metadata_dict_list, document, create=True) warnings = update_indexes(document)
def smart_link_create(request): Permission.objects.check_permissions(request.user, [PERMISSION_SMART_LINK_CREATE]) if request.method == 'POST': form = SmartLinkForm(request.POST) if form.is_valid(): document_group = form.save() apply_default_acls(document_group, request.user) messages.success(request, _(u'Smart link: %s created successfully.') % document_group) return HttpResponseRedirect(reverse('smart_link_list')) else: form = SmartLinkForm() return render_to_response('generic_form.html', { 'form': form, 'title': _(u'Create new smart link') }, context_instance=RequestContext(request))
def index_setup_create(request): Permission.objects.check_permissions(request.user, [PERMISSION_DOCUMENT_INDEXING_CREATE]) if request.method == 'POST': form = IndexForm(request.POST) if form.is_valid(): index = form.save() apply_default_acls(index, request.user) messages.success(request, _('Index created successfully.')) return HttpResponseRedirect(reverse('indexing:index_setup_list')) else: form = IndexForm() return render_to_response('main/generic_form.html', { 'title': _('Create index'), 'form': form, }, context_instance=RequestContext(request))
def tag_create(request): Permission.objects.check_permissions(request.user, [PERMISSION_TAG_CREATE]) redirect_url = reverse('tags:tag_list') if request.method == 'POST': form = TagForm(request.POST) if form.is_valid(): tag = form.save() apply_default_acls(tag, request.user) messages.success(request, _('Tag created succesfully.')) return HttpResponseRedirect(redirect_url) else: form = TagForm() return render_to_response('main/generic_form.html', { 'title': _('Create tag'), 'form': form, }, context_instance=RequestContext(request))
def folder_create(request): Permission.objects.check_permissions(request.user, [PERMISSION_FOLDER_CREATE]) if request.method == "POST": form = FolderForm(request.POST) if form.is_valid(): folder, created = Folder.objects.get_or_create(user=request.user, title=form.cleaned_data["title"]) if created: apply_default_acls(folder, request.user) messages.success(request, _(u"Folder created successfully")) return HttpResponseRedirect(reverse("folder_list")) else: messages.error(request, _(u"A folder named: %s, already exists.") % form.cleaned_data["title"]) else: form = FolderForm() return render_to_response( "generic_form.html", {"title": _(u"create folder"), "form": form}, context_instance=RequestContext(request) )
def folder_create(request): Permission.objects.check_permissions(request.user, [PERMISSION_FOLDER_CREATE]) if request.method == 'POST': form = FolderForm(request.POST) if form.is_valid(): folder, created = Folder.objects.get_or_create(user=request.user, title=form.cleaned_data['title']) if created: apply_default_acls(folder, request.user) messages.success(request, _('Folder created successfully')) return HttpResponseRedirect(reverse('folders:folder_list')) else: messages.error(request, _('A folder named: %s, already exists.') % form.cleaned_data['title']) else: form = FolderForm() return render_to_response('main/generic_form.html', { 'title': _('Create folder'), 'form': form, }, context_instance=RequestContext(request))
def smart_link_create(request): Permission.objects.check_permissions(request.user, [PERMISSION_SMART_LINK_CREATE]) if request.method == 'POST': form = SmartLinkForm(request.POST) if form.is_valid(): document_group = form.save() apply_default_acls(document_group, request.user) messages.success( request, _(u'Smart link: %s created successfully.') % document_group) return HttpResponseRedirect(reverse('smart_link_list')) else: form = SmartLinkForm() return render_to_response('generic_form.html', { 'form': form, 'title': _(u'Create new smart link') }, context_instance=RequestContext(request))