Esempio n. 1
0
def submission_three(request, book_id):
    book = get_object_or_404(core_models.Book, pk=book_id, owner=request.user)
    manuscript_files = core_models.File.objects.filter(book=book, kind='manuscript')
    additional_files = core_models.File.objects.filter(book=book, kind='additional')

    logic.check_stage(book, 3)

    if request.method == 'POST':
        print request.POST
        if 'next_stage' in request.POST:
            if manuscript_files.count() >= 1:
                if not book.submission_stage > 4:
                    book.submission_stage = 4
                logic.handle_book_labels(request.POST, book, kind='manuscript')
                book.save()
                return redirect(reverse('submission_three_additional', kwargs={'book_id': book.id}))
            else:
                messages.add_message(request, messages.ERROR, 'You must upload a Manuscript File.')

        # Catch, after any post we always redirect to avoid someone resubmitting the same file twice.
        return redirect(reverse('submission_three', kwargs={'book_id': book.id}))

    template = 'submission/submission_three.html'
    context = {
        'book': book,
        'active': 3,
        'manuscript_files': manuscript_files,
        'additional_files': additional_files,
        'manuscript_guidelines': core_models.Setting.objects.get(name='manuscript_guidelines').value,

    }

    return render(request, template, context)
Esempio n. 2
0
File: views.py Progetto: StuJ/rua-1
def submission_three_additional(request, book_id):
    book = get_object_or_404(core_models.Book, pk=book_id, owner=request.user)
    additional_files = core_models.File.objects.filter(book=book,
                                                       kind='additional')

    logic.check_stage(book, 4)

    if request.method == 'POST':
        if not book.submission_stage > 5:
            book.submission_stage = 5
        logic.handle_book_labels(request.POST, book, kind='additional')
        book.save()
        return redirect(reverse('submission_four', kwargs={'book_id':
                                                           book.id}))

    template = 'submission/submission_three_additional.html'
    context = {
        'book':
        book,
        'active':
        4,
        'additional_files':
        additional_files,
        'additional_guidelines':
        core_models.Setting.objects.get(
            name='additional_files_guidelines').value,
    }

    return render(request, template, context)
Esempio n. 3
0
File: views.py Progetto: StuJ/rua-1
def submission_three(request, book_id):
    book = get_object_or_404(core_models.Book, pk=book_id, owner=request.user)
    manuscript_files = core_models.File.objects.filter(
        book=book,
        kind='manuscript',
    )
    additional_files = core_models.File.objects.filter(
        book=book,
        kind='additional',
    )

    logic.check_stage(book, 3)

    if request.method == 'POST':
        if 'next_stage' in request.POST:
            if manuscript_files.count() >= 1:
                if not book.submission_stage > 4:
                    book.submission_stage = 4
                logic.handle_book_labels(request.POST, book, kind='manuscript')
                book.save()

                return redirect(
                    reverse('submission_three_additional',
                            kwargs={'book_id': book.id}))
            else:
                messages.add_message(request, messages.ERROR,
                                     'You must upload a Manuscript File.')

        # After any post always redirect to avoid resubmitting of same file.
        return redirect(
            reverse('submission_three', kwargs={'book_id': book.id}))

    template = 'submission/submission_three.html'
    context = {
        'book':
        book,
        'active':
        3,
        'manuscript_files':
        manuscript_files,
        'additional_files':
        additional_files,
        'manuscript_guidelines':
        core_models.Setting.objects.get(name='manuscript_guidelines').value,
    }

    return render(request, template, context)
Esempio n. 4
0
File: views.py Progetto: NateWr/rua
def submission_three_additional(request, book_id):
	book = get_object_or_404(core_models.Book, pk=book_id, owner=request.user)
	additional_files = core_models.File.objects.filter(book=book, kind='additional')

	logic.check_stage(book, 4)

	if request.method == 'POST':
		if not book.submission_stage > 5:
			book.submission_stage = 5
		logic.handle_book_labels(request.POST, book, kind='additional')
		book.save()
		return redirect(reverse('submission_four', kwargs={'book_id': book.id}))

	template = 'submission/submission_three_additional.html'
	context = {
		'book': book,
		'active': 4,
		'additional_files': additional_files,
	}

	return render(request, template, context)
Esempio n. 5
0
def task_hub(request, assignment_type, assignment_id, about=None):

    assignment = logic.get_assignment(assignment_type, assignment_id)
    form = logic.get_unposted_form(request, assignment_type, assignment)
    center_block = (
        'onetasker/elements/submission_details.html' if about
        else 'onetasker/elements/files.html'
    )
    right_block = logic.right_block(assignment)
    submitted_files = logic.get_submitted_files(assignment)

    if assignment_type == 'copyedit':
        instructions = models.Setting.objects.get(
            group__name='general',
            name='instructions_for_task_copyedit',
        ).value
    elif assignment_type == 'typesetting':
        instructions = models.Setting.objects.get(
            group__name='general',
            name='instructions_for_task_typeset',
        ).value
    elif assignment_type == 'indexing':
        instructions = models.Setting.objects.get(
            group__name='general',
            name='instructions_for_task_index',
        ).value
    else:
        instructions = ""

    if request.POST:
        decision = request.POST.get('decision', None)  # Handle decision.
        if decision == 'accept':
            assignment.accepted = datetime.now()
            assignment.save()
            return redirect(reverse(
                'onetasker_task_hub',
                kwargs={
                    'assignment_type': assignment_type,
                    'assignment_id': assignment_id
                }
            ))
        elif decision == 'decline':
            assignment.declined = datetime.now()
            assignment.save()
            messages.add_message(request, messages.SUCCESS, 'Task declined.')
            return redirect(reverse(
                'onetasker_task_hub_decline',
                kwargs={
                    'assignment_type': assignment_type,
                    'assignment_id': assignment_id
                }
            ))
        elif 'task' in request.POST:  # Handle submission.
            form = logic.get_assignemnt_form(
                request,
                assignment_type,
                assignment,
            )
            if form.is_valid():
                assignment = form.save(commit=False)
                logic.notify_editor(
                    assignment,
                    '%s task completed' % (assignment.type())
                )
                logic.complete_task(assignment)
                handle_book_labels(request.POST, assignment.book, kind='misc')
                assignment.save()
                messages.add_message(
                    request,
                    messages.SUCCESS,
                    'Task completed. Thanks!'
                )
                return redirect(reverse(
                    'onetasker_task_hub',
                    kwargs={
                        'assignment_type': assignment_type,
                        'assignment_id': assignment_id
                    }
                ))
            else:
                print form

        elif 'label' in request.POST:  # Handle label.
            _file = get_object_or_404(
                models.File,
                pk=request.POST.get('file_id'),
            )
            _file.label = request.POST.get('label')
            _file.save()

    template = 'onetasker/taskhub.html'
    context = {
        'submission': assignment.book,
        'assignment': assignment,
        'form': form,
        'center_block': center_block,
        'right_block': right_block,
        'files': submitted_files,
        'about': about,
        'editors': core_logic.get_editors(assignment.book),
        'instructions': instructions,
    }

    return render(request, template, context)
Esempio n. 6
0
File: views.py Progetto: StuJ/rua
def task_hub(request, assignment_type, assignment_id, about=None):

	assignment = logic.get_assignment(assignment_type, assignment_id)
	form = logic.get_unposted_form(request, assignment_type, assignment)
	center_block = 'onetasker/elements/submission_details.html' if about else 'onetasker/elements/files.html'
	right_block = logic.right_block(assignment)
	submitted_files = logic.get_submitted_files(assignment)

	if assignment_type == 'copyedit':
		instructions = models.Setting.objects.get(group__name='general', name='instructions_for_task_copyedit').value
	elif assignment_type == 'typesetting':
		instructions = models.Setting.objects.get(group__name='general', name='instructions_for_task_typeset').value
	elif assignment_type == 'indexing':
		instructions = models.Setting.objects.get(group__name='general', name='instructions_for_task_index').value
	else:
		instructions = ""

	if request.POST:
		#Handle decision
		decision = request.POST.get('decision', None)
		if decision == 'accept':
			assignment.accepted = datetime.now()
			assignment.save()
			return redirect(reverse('onetasker_task_hub', kwargs={'assignment_type': assignment_type, 'assignment_id': assignment_id}))
		elif decision == 'decline':
			assignment.declined = datetime.now()
			assignment.save()
			messages.add_message(request, messages.SUCCESS, 'Task declined.')
			return redirect(reverse('onetasker_task_hub_decline',kwargs={'assignment_type': assignment_type, 'assignment_id': assignment_id}))
		#handle submission
		elif 'task' in request.POST:

			form = logic.get_assignemnt_form(request, assignment_type, assignment)
			if form.is_valid():
				assignment = form.save(commit=False)
				logic.notify_editor(assignment, '%s task completed' % (assignment.type()))
				logic.complete_task(assignment)
				handle_book_labels(request.POST, assignment.book, kind='misc')
				
				assignment.save()

				messages.add_message(request, messages.SUCCESS, 'Task completed. Thanks!')
				return redirect(reverse('onetasker_task_hub', kwargs={'assignment_type': assignment_type, 'assignment_id': assignment_id}))
			else:
				print form

		#handle label
		elif 'label' in request.POST:
			_file = get_object_or_404(models.File, pk=request.POST.get('file_id'))
			_file.label = request.POST.get('label')
			_file.save()


	template = 'onetasker/taskhub.html'

	context = {
		'submission': assignment.book,
		'assignment':assignment,
		'form': form,
		'center_block': center_block,
		'right_block': right_block,
		'files':submitted_files,
		'about':about,
		'editors':core_logic.get_editors(assignment.book),
		'instructions':instructions,
	}

	return render(request, template, context)