1 {% extends 'qcg/base.html' %}
2 {% load staticfiles bootstrap3 %}
5 <link href="{% static 'qcg/selectize/selectize.bootstrap3.css' %}" rel="stylesheet">
9 <script src="{% static 'qcg/cookie/jquery.cookie.min.js' %}"></script>
10 <script src="{% static 'qcg/globals.js' %}"></script>
11 {% include 'filex/source.js.html' %}
17 function status(msg) {
18 clearTimeout(statusTimeout);
19 statusTimeout = setTimeout(function() {
20 $('#status').text('');
23 $('#status').text(msg);
26 filex.files.on('change:checked', function() {
27 var selected = filex.selectedFiles().length;
29 $('#btn-rename').toggleClass('disabled', selected != 1);
30 $('#btn-delete').toggleClass('disabled', selected == 0);
33 $('#btn-upload').on('click', function() {
34 var url = '{% url 'gridftp_upload' %}?' + $.param({host: filex.host, path: filex.path.full() + '/'});
36 var win = window.open(url, url, 'height=500,width=800');
40 $('#btn-delete').on('click', function() {
41 var selected = _.groupBy(filex.selectedFiles(), function(item) { return item.get('type') }),
42 dirs = _.map(selected.directory || [], function (item) { return item.get('name') }),
43 files = _.map(selected.file || [], function (item) { return item.get('name') }),
46 path: filex.path.full() + '/',
50 $confirmModal = $('#confirm-modal'),
51 $confirmList = $confirmModal.find('ul').html('');
53 _.each(filex.selectedFiles(), function(item) {
54 $('<li>', {text: item.get('name')}).appendTo($confirmList);
57 $('#btn-confirm').off().on('click', function() {
60 $.post('{% url 'filex:delete' %}', data, function(response) {
61 var keys = Object.keys(response.fail);
64 var $errorModal = $('#error-modal'),
65 $errorList = $errorModal.find('dl').html('');
68 $('<dt>', {text: keys[i]}).appendTo($errorList);
69 $('<dd>', {text: response.fail[keys[i]]}).appendTo($errorList);
76 status('Usuwanie zakończone pomyślnie');
79 if (response.done.length)
84 $confirmModal.modal('hide');
87 $confirmModal.modal();
90 $('#mkdir-form').submit(function(e) {
97 $this.find('#id_host').val(filex.host);
98 $this.find('#id_path').val(filex.path.full());
100 $.post($this.attr('action'), $this.serialize(), function(response) {
101 status('Katalog utworzono pomyślnie');
107 {% endblock extra_js %}
109 {% block title %}Zarządzanie plikami GridFTP{% endblock %}
111 {% block container %}
112 {% include 'filex/source.html' %}
114 <div id="confirm-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="confirm-modal-label" aria-hidden="true">
115 <div class="modal-dialog">
116 <div class="modal-content">
117 <div class="modal-header">
118 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
119 <span aria-hidden="true">×</span>
121 <h4 class="modal-title" id="confirm-modal-label">Usuwanie plików</h4>
123 <div class="modal-body">
124 <h4>Czy na pewno usunąć następujące elementy?</h4>
127 <div class="modal-footer">
128 <button type="button" class="btn btn-default" data-dismiss="modal">Anuluj</button>
129 <button id="btn-confirm" type="button" class="btn btn-primary">OK</button>
135 <div id="error-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="error-modal-label" aria-hidden="true">
136 <div class="modal-dialog">
137 <div class="modal-content">
138 <div class="modal-header">
139 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
140 <span aria-hidden="true">×</span>
142 <h4 class="modal-title" id="error-modal-label">Błąd</h4>
144 <div class="modal-body">
145 <h4>Wystąpiły problemy podczas usuwania:</h4>
146 <dl class="dl-horizontal"></dl>
148 <div class="modal-footer">
149 <button type="button" class="btn btn-primary" data-dismiss="modal">OK</button>
155 <form id="mkdir-form" action="{% url 'filex:mkdir' %}" class="modal fade form-horizontal" tabindex="-1" role="dialog" aria-labelledby="mkdir-modal-label" aria-hidden="true">
156 <div class="modal-dialog">
157 <div class="modal-content">
158 <div class="modal-header">
159 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
160 <span aria-hidden="true">×</span>
162 <h4 class="modal-title" id="mkdir-modal-label">Nowy katalog</h4>
164 <div class="modal-body">
166 {% bootstrap_form new_dir_form layout='horizontal' %}
168 <div class="modal-footer">
169 <button type="button" class="btn btn-default" data-dismiss="modal">Anuluj</button>
170 <button type="submit" class="btn btn-primary">OK</button>
175 {% endblock container %}
178 <footer class="navbar navbar-default navbar-fixed-bottom" style="position:fixed">
179 <div class="container">
180 <div class="btn-toolbar" role="toolbar" style="float: left">
181 <div class="btn-group" role="group">
182 <button id="btn-upload" class="btn btn-default navbar-btn">Wgraj plik</button>
183 <button class="btn btn-default navbar-btn" data-toggle="modal" data-target="#mkdir-form">Utwórz katalog</button>
185 <div class="btn-group" role="group">
186 <button id="btn-rename" class="btn btn-default navbar-btn disabled">Zmień nazwę</button>
187 <button id="btn-delete" class="btn btn-default navbar-btn disabled">Usuń</button>
190 <p id="status" class="navbar-text"></p>
193 {% endblock footer %}