{% extends 'qcg/base.html' %}
-{% load staticfiles bootstrap3 qcg_utils %}
+{% load staticfiles bootstrap3 %}
{% block extra_css %}
<link href="{% static 'qcg/selectize/selectize.bootstrap3.css' %}" rel="stylesheet">
return res;
}
- $('#id_master_file,#id_executable,#id_input,#id_preprocess_script,#id_postprocess_script').before(function() {
+ $('#id_master_file,#id_pdb_file,#id_executable,#id_input,#id_preprocess_script,#id_postprocess_script').before(function() {
var target = this;
return gridftpButton.clone().click(function() {
$('#select-btn').off().click(function() {
});
}).wrap('<div style="margin-right: 80px"></div>');
- $('#id_application').selectize();
+ $('#id_application,#id_force_field').selectize();
$('#id_arguments,#id_properties,#id_native').selectize({
plugins: ['remove_button'],
create: true,
}
}
});
- $('#id_modules,#id_hosts,#id_master_file,#id_executable,#id_input,#id_stage_in,#id_preprocess_script,#id_postprocess_script').selectize({
+ $('#id_modules,#id_hosts,#id_master_file,#id_pdb_file,#id_executable,#id_input,#id_stage_in,#id_preprocess_script,#id_postprocess_script').selectize({
plugins: ['remove_button']
});
$('input[name="notify_type"],input[name="watch_output_type"],input[name="preprocess_type"],input[name="postprocess_type"]').on('change', function () {
$(this).tab('show');
}).each(function() {
- $(this).parent().toggleClass('active', this.checked);
-
if (this.checked)
$(this).tab('show');
});
$('#gridftp').one('show.bs.modal', function() {
filex.initialLoad();
+ $(this).find('.modal-body').css('height', window.innerHeight - 200 + 'px');
});
$('#template').on('show.bs.modal', function() {
- $(this).find('.alert').remove();
this.reset();
}).on('shown.bs.modal', function() {
$(this).find('input[type="text"]')[0].focus();
}).on('submit', function(e) {
e.preventDefault();
- var $this = $(this),
- $btn = $this.find('[type="submit"]');
-
- $this.find('.alert-danger').remove();
- $btn.button('loading');
-
- $.post(this.action, $('#description,#template').serializeArray(), function(response) {
- // FIXME url after redirection
- document.open();
- document.write(response);
- document.close();
- }).fail(function(xhr) {
- var error = (xhr.responseJSON || {}).error || 'Błąd serwera';
-
- $('<div>', {
- 'class': 'alert alert-danger',
- html: '<span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span> ' + error
- }).prependTo($this.find('.modal-body'));
-
- $btn.button('reset');
- });
+ // copy this form's fields to description form and send it
+ $('#description').append($(this).find('input').clone().attr('type', 'hidden')).submit();
});
});
</script>
<form id="description" action="." method="post" class="form-horizontal">
{% csrf_token %}
- <!-- Nav tabs -->
- <ul class="nav nav-tabs" style="margin-bottom: 20px">
- <li role="presentation" class="active"><a href="#basic" data-toggle="tab">Podstawowe</a></li>
- <li role="presentation"><a href="#resources" data-toggle="tab">Zasoby</a></li>
- <li role="presentation"><a href="#files" data-toggle="tab">Pliki</a></li>
- <li role="presentation"><a href="#environment" data-toggle="tab">Środowisko</a></li>
- <li role="presentation"><a href="#monitoring" data-toggle="tab">Powiadomienia</a></li>
- <li role="presentation"><a href="#other" data-toggle="tab">Inne</a></li>
- </ul>
-
- <div class="tab-content">
- <fieldset id="basic" class="tab-pane active" role="tabpanel">
- {% bootstrap_field form.application layout="horizontal" %}
- {% bootstrap_field form.master_file layout="horizontal" %}
- {% bootstrap_field form.executable layout="horizontal" form_group_class="form-group collapse" %}
- {% bootstrap_field form.script layout="horizontal" form_group_class="form-group collapse" %}
- {% bootstrap_field form.arguments layout="horizontal" %}
- {% bootstrap_field form.note layout="horizontal" %}
- {% bootstrap_field form.grant layout="horizontal" form_group_class="form-group collapse" %}
- </fieldset>
-
- <fieldset id="resources" class="tab-pane" role="tabpanel">
- {% bootstrap_field form.hosts layout="horizontal" %}
- {% bootstrap_field form.queue layout="horizontal" %}
- {% bootstrap_field form.properties layout="horizontal" form_group_class="form-group collapse" %}
- {% bootstrap_field form.modules layout="horizontal" form_group_class="form-group collapse" %}
- {% bootstrap_field form.procs layout="horizontal" %}
- {% bootstrap_field form.nodes layout="horizontal" form_group_class="form-group collapse" %}
- {% bootstrap_field form.wall_time layout="horizontal" form_group_class="form-group timerange" %}
- {% bootstrap_field form.memory layout="horizontal" form_group_class="form-group collapse" %}
- {% bootstrap_field form.memory_per_slot layout="horizontal" form_group_class="form-group collapse" %}
- {% bootstrap_field form.reservation layout="horizontal" form_group_class="form-group collapse" %}
- </fieldset>
-
- <fieldset id="files" class="tab-pane" role="tabpanel">
- {% bootstrap_field form.input layout="horizontal" %}
- {% bootstrap_field form.stage_in layout="horizontal" %}
- </fieldset>
-
- <fieldset id="environment" class="tab-pane" role="tabpanel">
- {{ env_formset.management_form }}
-
- <div class="form-group">
- <label class="col-sm-3 col-md-4 control-label">Zmienne środowiskowe</label>
- <div class="col-sm-9 col-md-6">
- <div id="env-controls">
- {% for env_form in env_formset %}
- <div>{% bootstrap_form env_form layout='inline' %}</div>
- {% endfor %}
- </div>
- <div id="add-env-form"></div>
- <div id="env-form-empty" style="display: none">
- {% bootstrap_form env_formset.empty_form layout='inline' %}
- </div>
- </div>
- </div>
- </fieldset>
-
- <fieldset id="monitoring" class="tab-pane" role="tabpanel">
- {% bootstrap_checkbox form.monitoring %}
-
- <div class="form-group">
- <label class="col-sm-3 col-md-4 control-label">Monitorowanie stanu</label>
- <div class="col-sm-9 col-md-6">
- <div class="btn-group" data-toggle="buttons">
- {% for option in form.notify_type %}
- <label class="btn btn-default">
- <input type="radio" autocomplete="off" name="{{ option.name }}" value="{{ option.choice_value }}"
- {% if option.is_checked %}checked{% endif %}
- data-target=".notify-type-{{ forloop.counter0 }}"> {{ option.choice_label }}
- </label>
- {% endfor %}
- </div>
- </div>
- </div>
-
- <div class="tab-content">
- <div class="tab-pane notify-type-0"></div>
-
- <div class="tab-pane notify-type-1 notify-type-2" style="margin-top: 15px">
- {% bootstrap_field form.notify_address layout="horizontal" %}
- </div>
- </div>
-
- <div class="collapse">
- <div class="form-group">
- <label class="col-sm-3 col-md-4 control-label">Monitorowanie wyjścia</label>
- <div class="col-sm-9 col-md-6">
- <div class="btn-group" data-toggle="buttons">
- {% for option in form.watch_output_type %}
- <label class="btn btn-default">
- <input type="radio" autocomplete="off" name="{{ option.name }}" value="{{ option.choice_value }}"
- {% if option.is_checked %}checked{% endif %}
- data-target=".watch-output-type-{{ forloop.counter0 }}"> {{ option.choice_label }}
- </label>
- {% endfor %}
- </div>
- </div>
- </div>
-
- <div class="tab-content">
- <div class="tab-pane watch-output-type-0"></div>
-
- <div class="tab-pane watch-output-type-1 watch-output-type-2" style="margin-top: 15px">
- {% bootstrap_field form.watch_output_address layout="horizontal" %}
- {% bootstrap_field form.watch_output_pattern layout="horizontal" %}
- </div>
- </div>
- </div>
- </fieldset>
-
- <fieldset id="other" class="tab-pane" role="tabpanel">
- <div class="form-group">
- <label class="col-sm-3 col-md-4 control-label">Preprocessing</label>
- <div class="col-sm-9 col-md-6">
- <div class="btn-group" data-toggle="buttons">
- {% for option in form.preprocess_type %}
- <label class="btn btn-default">
- <input type="radio" autocomplete="off" name="{{ option.name }}" value="{{ option.choice_value }}"
- {% if option.is_checked %}checked{% endif %}
- data-target=".preprocess-type-{{ forloop.counter0 }}"> {{ option.choice_label }}
- </label>
- {% endfor %}
- </div>
- </div>
- </div>
-
- <div class="tab-content">
- <div class="tab-pane preprocess-type-0"></div>
-
- <div class="tab-pane preprocess-type-1" style="margin-top: 15px">
- {% bootstrap_field form.preprocess_cmd layout="horizontal" %}
- </div>
-
- <div class="tab-pane preprocess-type-2" style="margin-top: 15px">
- {% bootstrap_field form.preprocess_script layout="horizontal" %}
- </div>
- </div>
-
- <div class="form-group">
- <label class="col-sm-3 col-md-4 control-label">Postprocessing</label>
- <div class="col-sm-9 col-md-6">
- <div class="btn-group" data-toggle="buttons">
- {% for option in form.postprocess_type %}
- <label class="btn btn-default">
- <input type="radio" autocomplete="off" name="{{ option.name }}" value="{{ option.choice_value }}"
- {% if option.is_checked %}checked{% endif %}
- data-target=".postprocess-type-{{ forloop.counter0 }}"> {{ option.choice_label }}
- </label>
- {% endfor %}
- </div>
- </div>
- </div>
-
- <div class="tab-content">
- <div class="tab-pane postprocess-type-0"></div>
-
- <div class="tab-pane postprocess-type-1" style="margin-top: 15px">
- {% bootstrap_field form.postprocess_cmd layout="horizontal" %}
- </div>
-
- <div class="tab-pane postprocess-type-2" style="margin-top: 15px">
- {% bootstrap_field form.postprocess_script layout="horizontal" %}
- </div>
- </div>
-
- {% bootstrap_field form.native layout="horizontal" %}
- {% bootstrap_checkbox form.persistent %}
- </fieldset>
- </div>
+ {% include 'qcg/job_submit_form.html' %}
<hr>