def ajax_rename_project(request): """ Make a new version that renames the project. """ form = RenameProjectForm(request.POST) if form.is_valid(): new_title = form.cleaned_data.get('title') comments = form.cleaned_data.get('comments', '') project_id = form.cleaned_data.get('project') try: project = Project.objects.get(pk=project_id) except Project.DoesNotExist: return json_failure(design.bad_project_id) if not project.band.permission_to_work(request.user): return json_failure( design.you_dont_have_permission_to_work_on_this_band) if project.band.is_read_only(): return json_failure(design.band_in_readonly_mode) node = SongCommentNode() node.owner = request.user node.content = comments node.save() version = ProjectVersion() version.project = project version.owner = request.user version.comment_node = node version.version = project.latest_version.version # no +1 because only renaming version.new_title = new_title version.old_title = project.title version.save() node.version = version node.save() project.title = new_title project.save() return json_success() return json_failure(form_errors(form))
def ajax_rename_project(request): """ Make a new version that renames the project. """ form = RenameProjectForm(request.POST) if form.is_valid(): new_title = form.cleaned_data.get('title') comments = form.cleaned_data.get('comments', '') project_id = form.cleaned_data.get('project') try: project = Project.objects.get(pk=project_id) except Project.DoesNotExist: return json_failure(design.bad_project_id) if not project.band.permission_to_work(request.user): return json_failure(design.you_dont_have_permission_to_work_on_this_band) if project.band.is_read_only(): return json_failure(design.band_in_readonly_mode) node = SongCommentNode() node.owner = request.user node.content = comments node.save() version = ProjectVersion() version.project = project version.owner = request.user version.comment_node = node version.version = project.latest_version.version # no +1 because only renaming version.new_title = new_title version.old_title = project.title version.save() node.version = version node.save() project.title = new_title project.save() return json_success() return json_failure(form_errors(form))