parent
e05624c4a7
commit
77a5bddb6d
28 changed files with 504 additions and 116 deletions
@ -0,0 +1,14 @@ |
||||
{% extends 'base.html' %} |
||||
|
||||
|
||||
{% block body %} |
||||
|
||||
<form method="POST" name="form" class="form-horizontal">{% csrf_token %} |
||||
|
||||
{{ form }} |
||||
|
||||
<input type="submit" class="btn" value="Register"> |
||||
|
||||
|
||||
</form> |
||||
{% endblock %} |
||||
@ -0,0 +1,228 @@ |
||||
{% extends 'base.html' %} |
||||
{% load static %} |
||||
{# Displays translator form and file form in modal window #} |
||||
|
||||
|
||||
{% block scripts %} |
||||
|
||||
<script src="{% static 'ckeditor/ckeditor/ckeditor.js' %}"></script> |
||||
{# selects #} |
||||
<link href="{% static 'js/select/select2.css' %}" rel="stylesheet"/> |
||||
<script src="{% static 'js/select/select2.js' %}"></script> |
||||
<script src="{% static 'custom_js/make_select.js' %}"></script> |
||||
{# ajax #} |
||||
<script src="{% static 'custom_js/file_post_ajax.js' %}"></script> |
||||
<script src="{% static 'custom_js/file_delete_ajax.js' %}"></script> |
||||
{# datetimepicker #} |
||||
<link href="{% static 'js/datetimepicker/css/datetimepicker.css' %}" rel="stylesheet"/> |
||||
<script src="{% static 'js/datetimepicker/js/bootstrap-datetimepicker.js' %}"></script> |
||||
<script type="text/javascript"> |
||||
$(document).ready(function(){ |
||||
$('#id_birth').datetimepicker({ |
||||
todayHighlight: true, |
||||
format : 'dd.mm.yyyy', |
||||
minView:2 |
||||
}); |
||||
}); |
||||
</script> |
||||
|
||||
|
||||
{% endblock %} |
||||
|
||||
{% block body %} |
||||
|
||||
{# Uses multilang.html template for translated fields #} |
||||
<form method="post" class="form-horizontal" enctype="multipart/form-data" name="form1" id="form1"> {% csrf_token %} |
||||
<fieldset> |
||||
<legend><i class="icon-edit"></i>{% if obj_id %} Изменить {% else %} Добавить {% endif %}страну</legend> |
||||
|
||||
<div class="box span8"> |
||||
<div class="box-header well"> |
||||
<h2><i class="icon-pencil"></i> Основная информация</h2> |
||||
</div> |
||||
<div class="box-content"> |
||||
{# Hidden input uses for comparing with TmpFile objects #} |
||||
{{ form.key }} |
||||
|
||||
{# user #} |
||||
<div class="control-group {% if form.user.errors %}error{% endif %}"> |
||||
<label class="control-label">{{ form.user.label }}:</label> |
||||
<div class="controls">{{ form.user }} |
||||
<span class="help-inline">{{ form.user.errors }}</span> |
||||
</div> |
||||
</div> |
||||
{# birth #} |
||||
<div class="control-group {% if form.birth.errors %}error{% endif %}"> |
||||
<label class="control-label">{{ form.birth.label }}:</label> |
||||
<div class="controls">{{ form.birth }} |
||||
<span class="help-inline">{{ form.birth.errors }}</span> |
||||
</div> |
||||
</div> |
||||
{# gender #} |
||||
<div class="control-group {% if form.gender.errors %}error{% endif %}"> |
||||
<label class="control-label">{{ form.gender.label }}:</label> |
||||
<div class="controls">{{ form.gender }} |
||||
<span class="help-inline">{{ form.gender.errors }}</span> |
||||
</div> |
||||
</div> |
||||
|
||||
{# education #} |
||||
{% with field='education' form=form languages=languages %} |
||||
{% include 'admin/forms/multilang.html' %} |
||||
{% endwith %} |
||||
{# specialization #} |
||||
{% with field='specialization' form=form languages=languages %} |
||||
{% include 'admin/forms/multilang.html' %} |
||||
{% endwith %} |
||||
{# languages #} |
||||
{% with field='languages' form=form languages=languages %} |
||||
{% include 'admin/forms/multilang.html' %} |
||||
{% endwith %} |
||||
{# native_language #} |
||||
{% with field='native_language' form=form languages=languages %} |
||||
{% include 'admin/forms/multilang.html' %} |
||||
{% endwith %} |
||||
{# prices #} |
||||
{% with field='prices' form=form languages=languages %} |
||||
{% include 'admin/forms/multilang.html' %} |
||||
{% endwith %} |
||||
{# discounts #} |
||||
{% with field='discounts' form=form languages=languages %} |
||||
{% include 'admin/forms/multilang.html' %} |
||||
{% endwith %} |
||||
{# car #} |
||||
<div class="control-group {% if form.car.errors %}error{% endif %}"> |
||||
<label class="control-label">{{ form.car.label }}:</label> |
||||
<div class="controls">{{ form.car }} |
||||
<span class="help-inline">{{ form.car.errors }}</span> |
||||
</div> |
||||
</div> |
||||
|
||||
</div> |
||||
</div> |
||||
|
||||
<a name="file"></a> |
||||
<div class="box span8" id="file"> |
||||
<div class="box-header well"> |
||||
<h2><i class="icon-pencil"></i> Файлы</h2> |
||||
</div> |
||||
<div class="box-content"> |
||||
{# button that shows modal window with file form #} |
||||
<a href="#myModal" id="file_add" role="button" class="btn btn-info" data-toggle="modal">Добавить файл</a> |
||||
{# this div shows list of files and refreshes when new file added #} |
||||
<div id="file_list"> |
||||
<table class="table table-hover"> |
||||
|
||||
<thead> |
||||
<tr> |
||||
<td>id</td> |
||||
<td>Файл</td> |
||||
<td>Имя</td> |
||||
<td>Назначение</td> |
||||
<td></td> |
||||
</tr> |
||||
</thead> |
||||
<tbody> |
||||
{% for file in files %} |
||||
|
||||
<tr> |
||||
<td>{{ file.id }}</td> |
||||
<td><img src="{{ file.file_path.url }}"></td> |
||||
<td>{{ file.file_name }}</td> |
||||
<td>{{ file.purpose }}</td> |
||||
<td> |
||||
<button class="btn btn-danger delete_file" value="{{ file.id }}"> |
||||
<i class="icon-trash icon-white"></i> Удалить |
||||
</button> |
||||
</td> |
||||
</tr> |
||||
|
||||
{% endfor %} |
||||
</tbody> |
||||
</table> |
||||
</div> |
||||
|
||||
</div> |
||||
</div> |
||||
|
||||
|
||||
<div class="box span8"> |
||||
<div class="box-header well"> |
||||
<h2><i class="icon-pencil"></i>Мета данные</h2> |
||||
</div> |
||||
<div class="box-content"> |
||||
{# keywords #} |
||||
{% with field='keywords' form=form languages=languages %} |
||||
{% include 'admin/forms/multilang.html' %} |
||||
{% endwith %} |
||||
{# title #} |
||||
{% with field='title' form=form languages=languages %} |
||||
{% include 'admin/forms/multilang.html' %} |
||||
{% endwith %} |
||||
{# descriptions #} |
||||
{% with field='descriptions' form=form languages=languages %} |
||||
{% include 'admin/forms/multilang.html' %} |
||||
{% endwith %} |
||||
</div> |
||||
</div> |
||||
<div class="controls"> |
||||
<input class="btn btn-large btn-primary" type="submit" value="Добавить"> |
||||
<input class="btn btn-large" type="reset" value="Отмена"> |
||||
</div> |
||||
|
||||
|
||||
</fieldset> |
||||
</form> |
||||
|
||||
|
||||
{# modal window #} |
||||
<div class="modal hide fade" id="myModal" > |
||||
<div class="modal-header"> |
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true" id="close">×</button> |
||||
<h3>Добавить файл</h3> |
||||
</div> |
||||
|
||||
<div id="form_body"> |
||||
<div class="modal-body"> |
||||
<form method="post" class="form-horizontal" enctype="multipart/form-data" name="file_form" id="file_form" > {% csrf_token %} |
||||
|
||||
{# hidden inputs uses for comparing with Translator form key#} |
||||
{{ file_form.key }} |
||||
{{ file_form.model }} |
||||
<input type="hidden" id="obj_id" value="{{ obj_id }}"> |
||||
{# file_path #} |
||||
<div class="control-group{% if file_form.file_path.errors %}error{% endif %}"> |
||||
<label class="control-label"><b>{{ file_form.file_path.label }}:</b></label> |
||||
<div class="controls">{{ file_form.file_path }} |
||||
<span class="help-inline">{{ file_form.file_path.errors }}</span> |
||||
</div> |
||||
</div> |
||||
{# file purpose #} |
||||
<div class="control-group{% if file_form.purpose.errors %}error{% endif %}"> |
||||
<label class="control-label"><b>{{ file_form.purpose.label }}:</b></label> |
||||
<div class="controls">{{ file_form.purpose }} |
||||
<span class="help-inline">{{ file_form.purpose.errors }}</span> |
||||
</div> |
||||
</div> |
||||
{# file_name #} |
||||
{% with field='file_name' form=file_form languages=languages %} |
||||
{% include 'admin/forms/multilang.html' %} |
||||
{% endwith %} |
||||
{# file_description #} |
||||
{% with field='description' form=file_form languages=languages %} |
||||
{% include 'admin/forms/multilang.html' %} |
||||
{% endwith %} |
||||
|
||||
|
||||
|
||||
<div class="modal-footer"> |
||||
<div class="controls"> |
||||
<input class="btn btn-primary" type="submit" value="Добавить"> |
||||
<input type="reset" class="btn" value="Отменить" data-dismiss="modal"> |
||||
</form> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
</div> |
||||
{% endblock %} |
||||
@ -0,0 +1,59 @@ |
||||
{% extends 'base.html' %} |
||||
|
||||
{% block body %} |
||||
<div class="box span8"> |
||||
<div class="box-header well"> |
||||
<h2><i class="icon-arrow-down"></i>Список переводчиков</h2> |
||||
</div> |
||||
<div class="box-content"> |
||||
|
||||
<table class="table table-hover"> |
||||
<thead> |
||||
<tr> |
||||
<th>id</th> |
||||
<th>Пользователь</th> |
||||
<th>Страна</th> |
||||
<th> </th> |
||||
</tr> |
||||
</thead> |
||||
<tbody> |
||||
{% for item in objects %} |
||||
|
||||
<tr> |
||||
<td>{{ item.id }}</td> |
||||
{% for u in item.user.all %} |
||||
<td>{{ u }}</td> |
||||
<td>{{ u.country }}</td> |
||||
{% endfor %} |
||||
|
||||
<td class="center sorting_1"> |
||||
<a class="btn btn-info" href="/translator/change/{{ item.id }}"> |
||||
<i class="icon-edit icon-white"></i> Изменить |
||||
</a> |
||||
|
||||
<a class="btn btn-danger delete" href="/translator/delete/{{ item.id }}/"> |
||||
<i class="icon-trash icon-white"></i> Удалить |
||||
</a> |
||||
</td> |
||||
|
||||
</tr> |
||||
|
||||
{% endfor %} |
||||
</tbody> |
||||
</table> |
||||
<a class="btn btn-success" href="/translator/add"><i class="icon-plus-sign icon-white"></i> Добавить перводчика</a> |
||||
</div> |
||||
{# pagination #} |
||||
<div class="pagination pagination-centered"> |
||||
<ul> |
||||
{% if objects.has_previous %} |
||||
<li> <a href="?page={{ objects.previous_page_number }}">←</a></li> |
||||
{% endif %} |
||||
|
||||
{% if objects.has_next %} |
||||
<li><a href="?page={{ objects.next_page_number }}">→</a></li> |
||||
{% endif %} |
||||
</ul> |
||||
</div> |
||||
</div> |
||||
{% endblock %} |
||||
Loading…
Reference in new issue