Exemplo n.º 1
0
    def updated_test_data(self, request, queryset):
        update_root_list_files()
        update_list_dirs()

        for dir in queryset:
            update_list_files(dir)
        self.message_user(request, "For selected folders updated file list.")
Exemplo n.º 2
0
def new_runid_csid_collate_edit(request, run_id, cs_id, collate_id):
    title = "New Collate Card"
    collate_card = get_object_or_404(Collate, pk=collate_id)
    url_form = "new_runid_csid_collate_edit"
    template_name = "cards/_collate_form.html"
    func = collate_update_create
    form = None
    # update_list_files(collate_card.input_data_directory)

    available_files = ListTestFiles.objects.filter(input_data_directory=collate_card.input_data_directory).exclude(
        id__in=collate_card.input_files.values_list("id", flat=True)
    )
    chosen_files = collate_card.input_files.filter(input_data_directory=collate_card.input_data_directory)
    available_files = available_files.order_by("name")
    chosen_files = chosen_files.order_by("name")

    REVERSE_URL["collate"]["save_button"].append([run_id, cs_id])
    REVERSE_URL["collate"]["save_and_another"].append([run_id, cs_id])
    REVERSE_URL["collate"]["save_and_continue"].append([run_id, cs_id])
    REVERSE_URL["collate"]["cancel_button"].append([run_id, cs_id])

    if request.method == "POST":
        if request.POST.get("update_data") is not None:
            update_list_files(collate_card.input_data_directory)

        response = get_post(
            request, CollateForm, "Collate Card", REVERSE_URL["collate"], func, args=True, item_id=collate_id
        )

        if isinstance(response, HttpResponseRedirect):
            return response
        else:
            form = response
    else:
        form = CollateForm(instance=collate_card)

    data = {
        "title": title,
        "form": form,
        "card_id": collate_id,
        "url_form": url_form,
        "template_name": template_name,
        "run_id": run_id,
        "cs_id": cs_id,
        "available_files": available_files,
        "chosen_files": chosen_files,
    }

    return data
Exemplo n.º 3
0
def mkdir(sender, instance, **kwargs):
    update_list_files(instance)
Exemplo n.º 4
0
def cs_runid_csid_collate_edit(request, run_id, cs_id, card_id, collate_id):
	title = 'Collate Card Edit'
	collate_card = get_object_or_404(Collate, pk=collate_id)
	content_type = get_object_or_404(ContentType, app_label='cards', model='collate')
	card_sequence = get_object_or_404(CardSequence, pk=cs_id)
	# update_list_files(collate_card.input_data_directory)

	available_files = ListTestFiles.objects.filter(
			input_data_directory=collate_card.input_data_directory).exclude(
			id__in=collate_card.input_files.values_list('id', flat=True))
	chosen_files = collate_card.input_files.filter(input_data_directory=collate_card.input_data_directory)

	available_files = available_files.order_by('name')
	chosen_files = chosen_files.order_by('name')

	try:
		card_item = get_object_or_404(CardItem, object_id=collate_id, content_type=content_type)
		card_sequence_card = CardSequence.cards.through.objects.get(id=card_id)

		url_form = 'cs_runid_csid_collate_edit'
		template_name = 'gsi/_cs_collate_form.html'
		func = collate_update_create
		form_1 = CardSequenceCardForm(instance=card_sequence_card)
		form_2 = CollateForm(instance=collate_card)

		REVERSE_URL = {
			'collate': {'save_button': ['card_sequence_update'],
						'save_and_continue': ['cs_runid_csid_collate_edit'],
						'cancel_button': ['card_sequence_update']},
		}
		REVERSE_URL['collate']['save_button'].append([run_id, cs_id])
		REVERSE_URL['collate']['save_and_continue'].append([run_id, cs_id, card_id])
		REVERSE_URL['collate']['cancel_button'].append([run_id, cs_id])

		if request.method == "POST":
			if request.POST.get('update_data') is not None:
				update_list_files(collate_card.input_data_directory)

			cs_form = [CardSequenceCardForm, card_sequence_card, card_item]
			response = get_post(request, CollateForm, 'Collate Card', REVERSE_URL['collate'],
								func, args=True, item_id=collate_id, cs_form=cs_form)

			if response == None:
				return HttpResponseRedirect(
					u'%s?danger_message=%s' % (reverse('cs_runid_csid_collate_edit', args=[run_id, cs_id, card_id, collate_id]),
											   (u"Collate Card with the same name already exists"))
				)

			if isinstance(response, HttpResponseRedirect):
				return response
			else:
				form_2 = response
	except ObjectDoesNotExist:
		return HttpResponseRedirect(
			u'%s?danger_message=%s' % (reverse('card_sequence_update', args=[run_id, cs_id]),
									   (u'The RFTrain Card "{0}" was removed from Card Sequence "{1}"'.format(
										   collate_card.name, card_sequence.name)
									   )))

	data = {
		'title': title,
		'form_1': form_1,
		'form_2': form_2,
		'card_id': collate_id,
		'url_form': url_form,
		'template_name': template_name,
		'run_id': run_id,
		'cs_id': cs_id,
		'card': card_id,
		'available_files': available_files,
		'chosen_files': chosen_files,
	}

	return data
Exemplo n.º 5
0
    def __init__(self, *args, **kwargs):
        super(Collate, self).__init__(*args, **kwargs)

        if self.input_data_directory is not None:
            update_list_files(self.input_data_directory)