def typeset_review(request, submission_id, typeset_id): book = get_object_or_404(models.Book, pk=submission_id) typeset = get_object_or_404( models.TypesetAssignment, pk=typeset_id, book__owner=request.user, book=book, ) form = core_forms.TypesetAuthor(instance=typeset) if request.POST: form = core_forms.TypesetAuthor(request.POST, instance=typeset) if form.is_valid(): form.save() for _file in request.FILES.getlist('typeset_file_upload'): new_file = handle_typeset_file(_file, book, typeset, 'typeset') typeset.author_files.add(new_file) typeset.author_completed = timezone.now() typeset.save() log.add_log_entry( book=book, user=request.user, kind='production', message='Author Typesetting review %s %s completed.' % (request.user.first_name, request.user.last_name), short_name='Author Typesetting Review Completed', ) messages.add_message( request, messages.SUCCESS, 'Typesetting task complete. Thanks.', ) task.create_new_task(book, typeset.book.owner, typeset.requestor, "Author Typesetting completed for %s" % book.title, workflow='production') return redirect( reverse('editing', kwargs={ "submission_id": submission_id, })) template = 'author/submission.html' context = { 'submission': book, 'typeset': typeset, 'author_include': 'author/typeset.html', 'submission_files': 'author/typeset_review.html', 'form': form, } return render(request, template, context)
def author_production(request, submission_id): book = get_object_or_404(models.Book, pk=submission_id) if request.POST and request.GET.get('start', None): if request.GET.get('start') == 'typesetting': book.stage.typesetting = timezone.now() book.stage.save() elif request.POST and 'proof_id' in request.POST: proof_id = request.POST.get('proof_id') author_feedback = request.POST.get('author_feedback') proof = get_object_or_404(editor_models.CoverImageProof, pk=proof_id) proof.completed = timezone.now() proof.note_to_editor = author_feedback proof.save() log.add_log_entry(book=book, user=request.user, kind='production', message='%s %s completed Cover Image Proofs' % ( request.user.first_name, request.user.last_name, ), short_name='Cover Image Proof Request') task.create_new_task( book, request.user, proof.editor, "Cover Proofing completed for %s" % book.title, workflow='production', ) return redirect( reverse('author_production', kwargs={'submission_id': submission_id})) template = 'author/submission.html' context = { 'author_include': 'author/production/view.html', 'active': 'production', 'submission': book, 'format_list': models.Format.objects.filter(book=book).select_related('file'), 'chapter_list': models.Chapter.objects.filter(book=book), } return render(request, template, context)
def typeset_review(request, submission_id, typeset_id): book = get_object_or_404(models.Book, pk=submission_id) typeset = get_object_or_404(models.TypesetAssignment, pk=typeset_id, book__owner=request.user, book=book) form = core_forms.TypesetAuthor(instance=typeset) if request.POST: form = core_forms.TypesetAuthor(request.POST, instance=typeset) if form.is_valid(): form.save() for _file in request.FILES.getlist('typeset_file_upload'): new_file = handle_typeset_file(_file, book, typeset, 'typeset') typeset.author_files.add(new_file) typeset.author_completed = timezone.now() typeset.save() log.add_log_entry(book=book, user=request.user, kind='production', message='Author Typesetting review %s %s completed.' % (request.user.first_name, request.user.last_name), short_name='Author Typesetting Review Completed') messages.add_message(request, messages.SUCCESS, 'Typesetting task complete. Thanks.') new_task = task.create_new_task(book, typeset.book.owner, typeset.requestor, "Author Typesetting completed for %s" % book.title, workflow='production') return redirect(reverse('editing', kwargs={"submission_id": submission_id,})) template = 'author/submission.html' context = { 'submission': book, 'typeset': typeset, 'author_include': 'author/typeset.html', 'submission_files': 'author/typeset_review.html', 'form': form, } return render(request, template, context)
def copyedit_review(request, submission_id, copyedit_id): book = get_object_or_404(models.Book, pk=submission_id, owner=request.user) copyedit = get_object_or_404(models.CopyeditAssignment, pk=copyedit_id, book__owner=request.user, book=book, author_invited__isnull=False, author_completed__isnull=True) form = core_forms.CopyeditAuthor(instance=copyedit) if request.POST: form = core_forms.CopyeditAuthor(request.POST, instance=copyedit) if form.is_valid(): form.save() for _file in request.FILES.getlist('copyedit_file_upload'): new_file = handle_copyedit_file(_file, book, copyedit, 'copyedit') copyedit.author_files.add(new_file) copyedit.author_completed = timezone.now() copyedit.save() log.add_log_entry(book=book, user=request.user, kind='editing', message='Copyedit Author review compeleted by %s %s.' % (request.user.first_name, request.user.last_name), short_name='Copyedit Author Review Complete') messages.add_message(request, messages.SUCCESS, 'Copyedit task complete. Thanks.') new_task = task.create_new_task(book, copyedit.book.owner, copyedit.requestor, "Author Copyediting completed for %s" % book.title, workflow='editing') return redirect(reverse('editing', kwargs={"submission_id": submission_id,})) template = 'author/submission.html' context = { 'submission': book, 'copyedit': copyedit, 'author_include': 'author/copyedit.html', 'submission_files': 'author/copyedit_review.html', 'form': form, } return render(request, template, context)
def author_production(request, submission_id): book = get_object_or_404(models.Book, pk=submission_id) if request.POST and request.GET.get('start', None): if request.GET.get('start') == 'typesetting': book.stage.typesetting = timezone.now() book.stage.save() elif request.POST and 'proof_id' in request.POST: proof_id = request.POST.get('proof_id') author_feedback = request.POST.get('author_feedback') proof = get_object_or_404(editor_models.CoverImageProof, pk=proof_id) proof.completed = timezone.now() proof.note_to_editor = author_feedback proof.save() log.add_log_entry(book=book, user=request.user, kind='production', message='%s %s completed Cover Image Proofs' % (request.user.first_name, request.user.last_name), short_name='Cover Image Proof Request') new_task = task.create_new_task(book, request.user, proof.editor, "Cover Proofing completed for %s" % book.title, workflow='production') return redirect(reverse('author_production', kwargs={'submission_id': submission_id})) template = 'author/submission.html' context = { 'author_include': 'author/production/view.html', 'active': 'production', 'submission': book, 'format_list': models.Format.objects.filter(book=book).select_related('file'), 'chapter_list': models.Chapter.objects.filter(book=book).select_related('file'), } return render(request, template, context)
def notify_editor(assignment, text): if assignment.type() == "copyedit": assignee = assignment.copyeditor elif assignment.type() == "typesetting": assignee = assignment.typesetter elif assignment.type() == "indexing": assignee = assignment.indexer return task.create_new_task(assignment.book, assignment.requestor, assignee, text, assignment.type())
def notify_editor(assignment, text): if assignment.type() == 'copyedit': assignee = assignment.copyeditor elif assignment.type() == 'typesetting': assignee = assignment.typesetter elif assignment.type() == 'indexing': assignee = assignment.indexer return task.create_new_task( assignment.book, assignment.requestor, assignee, text, assignment.type(), )
def copyedit_review(request, submission_id, copyedit_id): book = get_object_or_404(models.Book, pk=submission_id, owner=request.user) copyedit = get_object_or_404( models.CopyeditAssignment, pk=copyedit_id, book__owner=request.user, book=book, author_invited__isnull=False, author_completed__isnull=True, ) form = core_forms.CopyeditAuthor(instance=copyedit) if request.POST: form = core_forms.CopyeditAuthor(request.POST, instance=copyedit) if form.is_valid(): form.save() submission_logic.handle_copyedit_author_labels( request.POST, copyedit, kind='misc', ) copyedit.author_completed = timezone.now() copyedit.save() log.add_log_entry( book=book, user=request.user, kind='editing', message='Copyedit Author review compeleted by %s %s.' % (request.user.first_name, request.user.last_name), short_name='Copyedit Author Review Complete', ) messages.add_message( request, messages.SUCCESS, 'Copyedit task complete. Thanks.', ) task.create_new_task( book, copyedit.book.owner, copyedit.requestor, "Author Copyediting completed for %s" % book.title, workflow='editing', ) return redirect( reverse('editing', kwargs={ "submission_id": submission_id, })) template = 'author/submission.html' context = { 'submission': book, 'copyedit': copyedit, 'author_files': True, 'author_include': 'author/copyedit.html', 'submission_files': 'author/copyedit_review.html', 'form': form, } return render(request, template, context)