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.")
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
def mkdir(sender, instance, **kwargs): update_list_files(instance)
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
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)