from django.template.defaultfilters import capfirst
from pyqcg.utils import TaskStatus
-from qcg.fields import PredefinedChoiceField, MultiplePredefinedChoiceField
+from qcg.fields import PredefinedChoiceField, MultiplePredefinedChoiceField, TimeRangeField
from qcg.models import Task, Allocation
queue = PredefinedChoiceField(choices=QUEUE_CHOICES, label=u"Kolejka", required=False)
procs = forms.IntegerField(label=u"Liczba procesów", min_value=0, required=False)
nodes = forms.CharField(label=u"Topologia węzłów", max_length=10, validators=[nodes_validator], required=False)
- wall_time = forms.IntegerField(label=u"Wall time (s)", min_value=0, required=False) # TODO duration field
+ wall_time = TimeRangeField(label=u"Wall time", required=False)
memory = forms.IntegerField(label=u"Pamięć (MB)", min_value=0, required=False)
memory_per_slot = forms.IntegerField(label=u"Pamięci per proces (MB)", min_value=0, required=False)
not_after = forms.DateTimeField(label=u"Nie później niż", required=False)
not_before = forms.DateTimeField(label=u"Nie wcześniej niż", required=False)
- deadline = forms.IntegerField(label=u"Deadline (s)", min_value=0, required=False) # TODO duration field
+ deadline = TimeRangeField(label=u"Deadline", required=False)
reservation = forms.CharField(label=u"Rezerwacja", max_length=100, required=False)
monitoring = forms.BooleanField(label=u"Portal QCG-Monitoring", required=False)
EnvFormSet = forms.formset_factory(EnvForm, can_delete=True, extra=0)
+
+
+class ColumnsForm(forms.Form):
+ JOB_ID, DESCRIPTION, SUBMISSION, START, END, STATUS, HOST = range(7)
+ COLUMNS_CHOICES = (
+ (JOB_ID, u"Identyfikator zadania"),
+ (DESCRIPTION, u"Opis"),
+ (SUBMISSION, u"Wysłane"),
+ (START, u"Start"),
+ (END, u"Koniec"),
+ (STATUS, u"Status"),
+ (HOST, u"Host"),
+ )
+
+ columns = forms.MultipleChoiceField(choices=COLUMNS_CHOICES, label=u"Kolumny", required=False,
+ widget=forms.CheckboxSelectMultiple)