Changed description to 'UNRES portal'
[qcg-portal.git] / qcg / templates / qcg / job_submit.html
index 560bd99..a12bd95 100644 (file)
@@ -1,5 +1,5 @@
 {% 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">
@@ -34,7 +34,7 @@
                 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() {
@@ -77,7 +77,7 @@
                 });
             }).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,
@@ -95,7 +95,7 @@
                     }
                 }
             });
-            $('#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>