_form.html 14 KB
{% load static i18n %}
{% load widget_tweaks %}

<form method="post" action="" enctype="multipart/form-data">
	{% csrf_token %}

	{% render_field form.control_subject %}

	<div class="form-group{% if form.has_error %} has-error {% endif %} is-fileinput">
		<label for="{{ form.name.auto_id }}">{{ form.name.label }} <span>*</span></label>
		{% render_field form.name class='form-control' %}

		<span id="helpBlock" class="help-block">{{ form.name.help_text }}</span>
			
		{% if form.name.errors %}
			<div class="alert alert-danger alert-dismissible" role="alert">
					<button type="button" class="close" data-dismiss="alert" aria-label="Close">
						<span aria-hidden="true">&times;</span>
					</button>
				<ul>
					{% for error in form.name.errors %}
						<li>{{ error }}</li>
					{% endfor %}
				</ul>
			</div>
		{% endif %}
	</div>

	<div class="form-group{% if form.has_error %} has-error {% endif %} is-fileinput">
		<label for="{{ form.url.auto_id }}">{{ form.url.label }} <span>*</span></label>
		{% render_field form.url class='form-control' %}

		<span id="helpBlock" class="help-block">{{ form.url.help_text }}</span>
			
		{% if form.url.errors %}
			<div class="alert alert-danger alert-dismissible" role="alert">
					<button type="button" class="close" data-dismiss="alert" aria-label="Close">
						<span aria-hidden="true">&times;</span>
					</button>
				<ul>
					{% for error in form.url.errors %}
						<li>{{ error }}</li>
					{% endfor %}
				</ul>
			</div>
		{% endif %}
	</div>

	<legend>{% trans 'Common resources settings' %}</legend>

	<div class="form-group{% if form.has_error %} has-error {% endif %} is-fileinput">
		<label for="{{ form.brief_description.auto_id }}">{{ form.brief_description.label }}</label>
		{% render_field form.brief_description class='form-control text_wysiwyg' %}

		<span id="helpBlock" class="help-block">{{ form.brief_description.help_text }}</span>
			
		{% if form.brief_description.errors %}
			<div class="alert alert-danger alert-dismissible" role="alert">
					<button type="button" class="close" data-dismiss="alert" aria-label="Close">
						<span aria-hidden="true">&times;</span>
					</button>
				<ul>
					{% for error in form.brief_description.errors %}
						<li>{{ error }}</li>
					{% endfor %}
				</ul>
			</div>
		{% endif %}
	</div>

	<div class="form-group{% if form.has_error %} has-error {% endif %} is-fileinput">
		<label for="{{ form.tags.auto_id }}">{{ form.tags.label }}</label>
		{% render_field form.tags class='form-control'  data-role="tagsinput" %}

		<span id="helpBlock" class="help-block">{{ form.tags.help_text }}</span>
			
		{% if form.tags.errors %}
			<div class="alert alert-danger alert-dismissible" role="alert">
					<button type="button" class="close" data-dismiss="alert" aria-label="Close">
						<span aria-hidden="true">&times;</span>
					</button>
				<ul>
					{% for error in form.tags.errors %}
						<li>{{ error }}</li>
					{% endfor %}
				</ul>
			</div>
		{% endif %}
	</div>

	<div class="panel-group" id="professors_accordion" role="tablist" aria-multiselectable="true">
		<div class="panel panel-info">
			<div class="panel-heading">
    			<div class="row">
        			<div class="col-md-12">
            			<a data-parent="#professors_accordion" data-toggle="collapse" href="#notifications">
            				<h4 class="panel-title">
                    			<button class="btn btn-default btn-xs text-center cat-selector"><i class="fa fa-angle-right fa-2x" aria-hidden="true"></i></button><label>{% trans 'Pendencies Notifications' %}</label>
            				</h4>
            			</a>
            		</div>
            	</div>
            </div>
            <div id="notifications" class="panel-collapse collapse">
            	{{ pendencies_form.management_form }}
                {{ pendencies_form.non_form_errors }}

				{% for notify in pendencies_form %}
	        		<div class="notifies">
	        			<div style="text-align:left">
	            			{% render_field notify.id %}
	            			{% render_field notify.resource %}
	            			{% render_field notify.subject class='pend_subj' %}
		            		
	            			{% if notify.instance.pk %}{{ notify.DELETE }}{% endif %}
		            		
		            		<div class="form-group{% if notify.has_error %} has-error {% endif %} row">
		            			<label for="{{ notify.action.auto_id }}" class="pull-left action_label contol-label">
		            				{% trans 'Action not performed by the user' %}: 
		        				</label>
		        				<div class="col-md-3">
		        					{% render_field notify.action class='form-control' %}
		        				</div>

		        				<br clear="all" />

		        				<span id="helpBlock" class="help-block">{{ notify.action.help_text }}</span>
			
								{% if notify.action.errors %}
									<div class="alert alert-danger alert-dismissible" role="alert">
										<button type="button" class="close" data-dismiss="alert" aria-label="Close">
											<span aria-hidden="true">&times;</span>
										</button>
										<ul>
											{% for error in notify.action.errors %}
												<li>{{ error }}</li>
											{% endfor %}
										</ul>
									</div>
								{% endif %}
		            		</div>
		            		<br clear="all" />
		            		<div class="row">
		            			<div class="col-md-12">
		            				<p>{% trans 'Wished period' %}: </p>
		            			</div>
		            		</div>
		            		<div class="form-group{% if notify.has_error %} has-error {% endif %} row">
		            			<div class="col-lg-2 col-md-2 col-sm-12 col-xs-12 checkbox">
							        <label>
				      					{% render_field notify.begin_date_check class="begin_date" %} {{ notify.begin_date.label }}
				  					</label>
						        </div>
						        <div class="col-lg-4 col-md-4 col-sm-12 col-xs-12">
						        	{% render_field notify.begin_date class='form-control datetime-picker begin_date_input' %}
						        </div>						        
		            		</div>
		            		<div class="row">
		            			<span id="helpBlock" class="help-block">{{ notify.begin_date.help_text }}</span>
			
								{% if notify.begin_date.errors %}
									<div class="alert alert-danger alert-dismissible" role="alert">
										<button type="button" class="close" data-dismiss="alert" aria-label="Close">
											<span aria-hidden="true">&times;</span>
										</button>
										<ul>
											{% for error in notify.begin_date.errors %}
												<li>{{ error }}</li>
											{% endfor %}
										</ul>
									</div>
								{% endif %}
		            		</div>
		            		<div class="form-group{% if notify.has_error %} has-error {% endif %} row">
		            			<div class="col-lg-2 col-md-2 col-sm-12 col-xs-12 checkbox">
							        <label>
				      					{% render_field notify.end_date_check class="end_date" %} {{ notify.end_date.label }}
				  					</label>
						        </div>
						        <div class="col-lg-4 col-md-4 col-sm-12 col-xs-12">
						        	{% render_field notify.end_date class='form-control datetime-picker end_date_input' %}
						        </div>
		            		</div>
		            		<div class="row">
		            			<span id="helpBlock" class="help-block">{{ notify.end_date.help_text }}</span>
			
								{% if notify.end_date.errors %}
									<div class="alert alert-danger alert-dismissible" role="alert">
										<button type="button" class="close" data-dismiss="alert" aria-label="Close">
											<span aria-hidden="true">&times;</span>
										</button>
										<ul>
											{% for error in notify.end_date.errors %}
												<li>{{ error }}</li>
											{% endfor %}
										</ul>
									</div>
								{% endif %}
		            		</div>
		            	</div>
	            	</div>
	            {% endfor %}
            </div>
        </div>

        <div class="panel panel-info">
			<div class="panel-heading">
    			<div class="row">
        			<div class="col-md-12">
            			<a data-parent="#professors_accordion" data-toggle="collapse" href="#students">
            				<h4 class="panel-title">
                    			<button class="btn btn-default btn-xs text-center cat-selector"><i class="fa fa-angle-right fa-2x" aria-hidden="true"></i></button><label for="{{ form.students.auto_id }}">{% trans 'Students' %}</label>
            				</h4>
            			</a>
            		</div>
            	</div>
            </div>
            <div id="students" class="panel-collapse collapse">
            	<div class="form-group{% if form.has_error %} has-error {% endif %}">
            		<div class=" checkbox">
            			<label for="{{ form.all_students.auto_id }}">
	      					{% render_field form.all_students %} {{ form.all_students.label }}
	  					</label>
	  				</div>

	  				<span id="helpBlock" class="help-block">{{ form.all_students.help_text }}</span>
			
					{% if form.all_students.errors %}
						<div class="alert alert-danger alert-dismissible" role="alert">
								<button type="button" class="close" data-dismiss="alert" aria-label="Close">
									<span aria-hidden="true">&times;</span>
								</button>
							<ul>
								{% for error in form.all_students.errors %}
									<li>{{ error }}</li>
								{% endfor %}
							</ul>
						</div>
					{% endif %}
            	</div>

            	<p><em>{% trans 'Attribute students to YouTube Video' %}:</em></p>
            	{% render_field form.students class='form-control' %}

            	<span id="helpBlock" class="help-block">{{ form.students.help_text }}</span>
			
				{% if form.students.errors %}
					<div class="alert alert-danger alert-dismissible" role="alert">
							<button type="button" class="close" data-dismiss="alert" aria-label="Close">
								<span aria-hidden="true">&times;</span>
							</button>
						<ul>
							{% for error in form.students.errors %}
								<li>{{ error }}</li>
							{% endfor %}
						</ul>
					</div>
				{% endif %}

            	<br clear="all" />

            	<p><em>{% trans 'Attribute groups to YouTube Video' %}:</em></p>
            	{% render_field form.groups class='form-control' %}

            	<span id="helpBlock" class="help-block">{{ form.groups.help_text }}</span>
			
				{% if form.groups.errors %}
					<div class="alert alert-danger alert-dismissible" role="alert">
							<button type="button" class="close" data-dismiss="alert" aria-label="Close">
								<span aria-hidden="true">&times;</span>
							</button>
						<ul>
							{% for error in form.groups.errors %}
								<li>{{ error }}</li>
							{% endfor %}
						</ul>
					</div>
				{% endif %}
            </div>
        </div>
	</div>

	<div class="form-group{% if form.has_error %} has-error {% endif %}">
		<div class=" checkbox">
			<label for="{{ form.show_window.auto_id }}">
				{% render_field form.show_window %} {{ form.show_window.label }}
			</label>
		</div>

		<span id="helpBlock" class="help-block">{{ form.show_window.help_text }}</span>
			
		{% if form.show_window.errors %}
			<div class="alert alert-danger alert-dismissible" role="alert">
					<button type="button" class="close" data-dismiss="alert" aria-label="Close">
						<span aria-hidden="true">&times;</span>
					</button>
				<ul>
					{% for error in form.show_window.errors %}
						<li>{{ error }}</li>
					{% endfor %}
				</ul>
			</div>
		{% endif %}
	</div>

	<div class="form-group{% if form.has_error %} has-error {% endif %}">
		<div class=" checkbox">
			<label for="{{ form.visible.auto_id }}">
				{% render_field form.visible %} {{ form.visible.label }}
			</label>
		</div>

		<span id="helpBlock" class="help-block">{{ form.visible.help_text }}</span>
			
		{% if form.visible.errors %}
			<div class="alert alert-danger alert-dismissible" role="alert">
					<button type="button" class="close" data-dismiss="alert" aria-label="Close">
						<span aria-hidden="true">&times;</span>
					</button>
				<ul>
					{% for error in form.visible.errors %}
						<li>{{ error }}</li>
					{% endfor %}
				</ul>
			</div>
		{% endif %}
	</div>

	<div class="row">
		<div class="col-lg-2 col-md-offset-4 col-md-6 col-sm-12 col-xs-12 text-center">
			<input type="submit" value="{% trans 'Save' %}" class="btn btn-success btn-raised btn-block" />
		</div>

		<div class="col-lg-2 col-md-6 col-sm-12 col-xs-12 text-center">
			<a href="{% url 'subjects:topic_view' slug=subject.slug topic_slug=topic.slug %}" class="btn btn-default btn-raised btn-block">{% trans 'Cancel' %}</a>
		</div>
	</div>
</form>
<script type="text/javascript">
	$(function() {
		$('.notifies').formset({
			addText: '{% trans "Add new notification" %}',
			deleteText: '{% trans "Remove this" %}',
			prefix: '{{ pendencies_form.prefix }}',
			added: function (row) {
				var locale = navigator.language || navigator.userLanguage;
				
				$(row).find('.datetime-picker').each(function () {
					$(this).datetimepicker({
						locale: locale
					});
				});
				$('.begin_date_input').on('click', function () {
			    	var checkbox = $(this).parent().parent().find('.begin_date');
			    	$(checkbox).prop('checked', true);
			    });
			    $('.end_date_input').on('click', function () {
			    	var checkbox = $(this).parent().parent().find('.end_date');
			    	$(checkbox).prop('checked', true);
			    });
			    
			    var subject = $("#id_control_subject").val();
			    
			    $(row).find('.pend_subj').val(subject);
			}
		}); 

		$('.begin_date_input').each(function () {
			console.log($(this).val());
			if ($(this).val() != '') {
				$(this).parent().parent().find('.begin_date').prop('checked', true);
			} else {
				$(this).parent().parent().find('.begin_date').prop('checked', false);
			}
		});

		$('.end_date_input').each(function () {
			if ($(this).val() != '') {
				$(this).parent().parent().find('.end_date').prop('checked', true);
			} else {
				$(this).parent().parent().find('.end_date').prop('checked', false);
			}
		});

		var subject = $("#id_control_subject").val();

		$('.pend_subj').val(subject);

		{% if not pendencies_form.is_valid and pendencies_form.is_bound %}
			$("#notifications").collapse('toggle');
		{% endif %}
	});
</script>
<script type="text/javascript" src="{% static 'js/resources.js' %}"></script>