sort of improve start time input using datetimepicker
This commit is contained in:
		
							parent
							
								
									a84902e540
								
							
						
					
					
						commit
						31e7b274d7
					
				
					 3 changed files with 27 additions and 21 deletions
				
			
		
							
								
								
									
										4
									
								
								TODO.md
									
										
									
									
									
								
							
							
						
						
									
										4
									
								
								TODO.md
									
										
									
									
									
								
							| 
						 | 
					@ -1,8 +1,8 @@
 | 
				
			||||||
 | 
					* wth does the datetimepicker not style the current date?
 | 
				
			||||||
 | 
					  * and why is the time not aligned to the time controls?
 | 
				
			||||||
* separate dirs for source and downloads
 | 
					* separate dirs for source and downloads
 | 
				
			||||||
* fix failing downloads (X-Sendfile?)
 | 
					* fix failing downloads (X-Sendfile?)
 | 
				
			||||||
* remove download after download
 | 
					* remove download after download
 | 
				
			||||||
* bootstrap styling
 | 
					 | 
				
			||||||
  * use wtforms to render form?
 | 
					 | 
				
			||||||
* no seconds in the form
 | 
					* no seconds in the form
 | 
				
			||||||
 | 
					
 | 
				
			||||||
later
 | 
					later
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -20,7 +20,7 @@ Bootstrap(app)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class DownloadForm(FlaskForm):
 | 
					class DownloadForm(FlaskForm):
 | 
				
			||||||
    start_time = DateTimeField('Start time', validators=[DataRequired()])
 | 
					    start_time = DateTimeField('Start time', validators=[DataRequired()], id='start_time')
 | 
				
			||||||
    length = DecimalField('Length', validators=[DataRequired(),
 | 
					    length = DecimalField('Length', validators=[DataRequired(),
 | 
				
			||||||
                                                NumberRange(min=1, max=app.config['MAX_LENGTH'])])
 | 
					                                                NumberRange(min=1, max=app.config['MAX_LENGTH'])])
 | 
				
			||||||
    submit = SubmitField('Download')
 | 
					    submit = SubmitField('Download')
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,5 @@
 | 
				
			||||||
{% extends "base.html" %}
 | 
					{% extends "base.html" %}
 | 
				
			||||||
 | 
					{% import "bootstrap/wtf.html" as wtf %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{% block head %}
 | 
					{% block head %}
 | 
				
			||||||
| 
						 | 
					@ -6,26 +7,31 @@
 | 
				
			||||||
    {% if filename is defined %}
 | 
					    {% if filename is defined %}
 | 
				
			||||||
    <meta http-equiv="refresh" content="0;URL='download_file/{{ filename }}'" />
 | 
					    <meta http-equiv="refresh" content="0;URL='download_file/{{ filename }}'" />
 | 
				
			||||||
    {% endif %}
 | 
					    {% endif %}
 | 
				
			||||||
 | 
					    <link type="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.47/css/bootstrap-datetimepicker.min.css">
 | 
				
			||||||
{% endblock %}
 | 
					{% endblock %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{% block app_content %}
 | 
					{% block app_content %}
 | 
				
			||||||
    <h1>Download</h1>
 | 
					    <h1>Download</h1>
 | 
				
			||||||
    <form action="" method="post" novalidate>
 | 
					
 | 
				
			||||||
        {{ form.hidden_tag() }}
 | 
					    <div class="row">
 | 
				
			||||||
        <p>
 | 
					        <div class='col-sm-6'>
 | 
				
			||||||
            {{ form.start_time.label }}<br>
 | 
					            {{ wtf.quick_form(form, button_map={'submit': 'primary'}) }}
 | 
				
			||||||
            {{ form.start_time() }}<br>
 | 
					        </div>
 | 
				
			||||||
            {% for error in form.start_time.errors %}
 | 
					    </div>
 | 
				
			||||||
            <span style="color: red;">[{{ error }}]</span>
 | 
					{% endblock %}
 | 
				
			||||||
            {% endfor %}
 | 
					
 | 
				
			||||||
        </p>
 | 
					{% block scripts %}
 | 
				
			||||||
        <p>
 | 
					{{ super() }}
 | 
				
			||||||
            {{ form.length.label }}<br>
 | 
					
 | 
				
			||||||
            {{ form.length() }}<br>
 | 
					<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
 | 
				
			||||||
            {% for error in form.length.errors %}
 | 
					<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.47/js/bootstrap-datetimepicker.min.js"></script>
 | 
				
			||||||
            <span style="color: red;">[{{ error }}]</span>
 | 
					
 | 
				
			||||||
            {% endfor %}
 | 
					<script type="text/javascript">
 | 
				
			||||||
        </p>
 | 
					    $(function () {
 | 
				
			||||||
        <p>{{ form.submit() }}</p>
 | 
					        $('#start_time').datetimepicker({
 | 
				
			||||||
    </form>
 | 
					            format:'YYYY-MM-DD HH:mm:ss',
 | 
				
			||||||
 | 
					            sideBySide: true
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
{% endblock %}
 | 
					{% endblock %}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue