diff --git a/project/index_blocks/cms_plugins.py b/project/index_blocks/cms_plugins.py index 027bbd9..76c7b8b 100644 --- a/project/index_blocks/cms_plugins.py +++ b/project/index_blocks/cms_plugins.py @@ -1,8 +1,9 @@ #-*- coding: utf -8-*- from cms.plugin_base import CMSPluginBase from cms.plugin_pool import plugin_pool -from models import IndexBlockPlugin, ExtendedTextBlockPlugin, ExtendedBlockPlugin -from forms import IndexBlockForm, ExtendedBlockForm +from models import IndexBlockPlugin, ExtendedTextBlockPlugin, ExtendedBlockPlugin, DescTextBlockPlugin +from forms import IndexBlockForm, ExtendedBlockForm, ExtendedTextBlockForm, DescBlockForm +from project.myauth.forms import RegistrationForm from django.utils.translation import ugettext as _ @@ -22,7 +23,7 @@ class CMSIndexBlockPlugin(CMSPluginBase): class CMSExtendedTextBlockPlugin(CMSPluginBase): model = ExtendedTextBlockPlugin - form = ExtendedBlockForm + form = ExtendedTextBlockForm name = u'Раскрывающийся блок' render_template = "extended_text_block.html" @@ -48,6 +49,20 @@ class CMSExtendedBlockPlugin(CMSPluginBase): return context +class CMSDescTextBlockPlugin(CMSPluginBase): + model = DescTextBlockPlugin + form = ExtendedBlockForm + name = u'Заголовок/описание' + render_template = "desc_block.html" + + def render(self, context, instance, placeholder): + context.update({ + 'object':instance, + 'placeholder':placeholder + }) + return context + + class CMSSlideshowBlockPlugin(CMSPluginBase): model = IndexBlockPlugin form = IndexBlockForm @@ -65,4 +80,5 @@ class CMSSlideshowBlockPlugin(CMSPluginBase): plugin_pool.register_plugin(CMSExtendedTextBlockPlugin) # plugin_pool.register_plugin(CMSIndexBlockPlugin) plugin_pool.register_plugin(CMSExtendedBlockPlugin) +plugin_pool.register_plugin(CMSDescTextBlockPlugin) # plugin_pool.register_plugin(CMSSlideshowBlockPlugin) diff --git a/project/index_blocks/forms.py b/project/index_blocks/forms.py index 9a7e572..b39f373 100644 --- a/project/index_blocks/forms.py +++ b/project/index_blocks/forms.py @@ -1,27 +1,32 @@ from django.forms.models import ModelForm -from .models import IndexBlockPlugin, ExtendedBlockPlugin +from .models import IndexBlockPlugin, ExtendedTextBlockPlugin, ExtendedBlockPlugin, DescTextBlockPlugin from django import forms class IndexBlockForm(ModelForm): - #description = forms.CharField() class Meta: model = IndexBlockPlugin - # widgets = { - # 'description': TinyMCE(attrs={'cols': 80, 'rows': 10}), - # } + exclude = ('page', 'position', 'placeholder', 'language', 'plugin_type') + + +class ExtendedTextBlockForm(ModelForm): + + class Meta: + model = ExtendedTextBlockPlugin exclude = ('page', 'position', 'placeholder', 'language', 'plugin_type') class ExtendedBlockForm(ModelForm): - #description = forms.CharField() class Meta: model = ExtendedBlockPlugin - # widgets = { - # 'description': TinyMCE(attrs={'cols': 80, 'rows': 10}), - # 'extended_description': TinyMCE(attrs={'cols': 80, 'rows': 10}), - # } + exclude = ('page', 'position', 'placeholder', 'language', 'plugin_type') + + +class DescBlockForm(ModelForm): + + class Meta: + model = ExtendedBlockPlugin exclude = ('page', 'position', 'placeholder', 'language', 'plugin_type') diff --git a/project/index_blocks/migrations/0006_auto__add_desctextblockplugin.py b/project/index_blocks/migrations/0006_auto__add_desctextblockplugin.py new file mode 100644 index 0000000..d871c77 --- /dev/null +++ b/project/index_blocks/migrations/0006_auto__add_desctextblockplugin.py @@ -0,0 +1,78 @@ +# -*- coding: utf-8 -*- +from south.utils import datetime_utils as datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding model 'DescTextBlockPlugin' + db.create_table(u'index_blocks_desctextblockplugin', ( + (u'cmsplugin_ptr', self.gf('django.db.models.fields.related.OneToOneField')(to=orm['cms.CMSPlugin'], unique=True, primary_key=True)), + ('title', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('description', self.gf('django.db.models.fields.TextField')()), + )) + db.send_create_signal(u'index_blocks', ['DescTextBlockPlugin']) + + + def backwards(self, orm): + # Deleting model 'DescTextBlockPlugin' + db.delete_table(u'index_blocks_desctextblockplugin') + + + models = { + 'cms.cmsplugin': { + 'Meta': {'object_name': 'CMSPlugin'}, + 'changed_date': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'creation_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'language': ('django.db.models.fields.CharField', [], {'max_length': '15', 'db_index': 'True'}), + 'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), + 'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cms.CMSPlugin']", 'null': 'True', 'blank': 'True'}), + 'placeholder': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cms.Placeholder']", 'null': 'True'}), + 'plugin_type': ('django.db.models.fields.CharField', [], {'max_length': '50', 'db_index': 'True'}), + 'position': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}), + 'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}) + }, + 'cms.placeholder': { + 'Meta': {'object_name': 'Placeholder'}, + 'default_width': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'slot': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}) + }, + u'index_blocks.desctextblockplugin': { + 'Meta': {'object_name': 'DescTextBlockPlugin', '_ormbases': ['cms.CMSPlugin']}, + u'cmsplugin_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['cms.CMSPlugin']", 'unique': 'True', 'primary_key': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + u'index_blocks.extendedblockplugin': { + 'Meta': {'object_name': 'ExtendedBlockPlugin', '_ormbases': ['cms.CMSPlugin']}, + u'cmsplugin_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['cms.CMSPlugin']", 'unique': 'True', 'primary_key': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {}), + 'extended_description': ('django.db.models.fields.TextField', [], {}), + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + u'index_blocks.extendedtextblockplugin': { + 'Meta': {'object_name': 'ExtendedTextBlockPlugin', '_ormbases': ['cms.CMSPlugin']}, + u'cmsplugin_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['cms.CMSPlugin']", 'unique': 'True', 'primary_key': 'True'}), + 'description': ('djangocms_text_ckeditor.fields.HTMLField', [], {}), + 'extended_description': ('djangocms_text_ckeditor.fields.HTMLField', [], {}), + 'order': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + u'index_blocks.indexblockplugin': { + 'Meta': {'object_name': 'IndexBlockPlugin', '_ormbases': ['cms.CMSPlugin']}, + u'cmsplugin_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['cms.CMSPlugin']", 'unique': 'True', 'primary_key': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {}), + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + } + } + + complete_apps = ['index_blocks'] \ No newline at end of file diff --git a/project/index_blocks/models.py b/project/index_blocks/models.py index f095c95..d54a2d7 100644 --- a/project/index_blocks/models.py +++ b/project/index_blocks/models.py @@ -9,6 +9,11 @@ class IndexBlockPlugin(CMSPlugin): description = models.TextField() +class DescTextBlockPlugin(CMSPlugin): + title = models.CharField(max_length=100) + description = models.TextField() + + class ExtendedTextBlockPlugin(CMSPlugin): order = models.PositiveIntegerField(default=1) title = models.CharField(max_length=100) diff --git a/project/index_blocks/templates/desc_block.html b/project/index_blocks/templates/desc_block.html new file mode 100644 index 0000000..797eaf5 --- /dev/null +++ b/project/index_blocks/templates/desc_block.html @@ -0,0 +1,11 @@ +{% load thumbnail %} +
+
+ {{ object.title }} +
+ +
+ +
diff --git a/project/index_blocks/templates/reg_form.html b/project/index_blocks/templates/reg_form.html new file mode 100644 index 0000000..1f8f470 --- /dev/null +++ b/project/index_blocks/templates/reg_form.html @@ -0,0 +1,15 @@ +{% load thumbnail %} +
+
+ +
+ +
+ +
diff --git a/project/myauth/forms.py b/project/myauth/forms.py index 6599fc6..40aa471 100644 --- a/project/myauth/forms.py +++ b/project/myauth/forms.py @@ -22,10 +22,10 @@ PROFILE_CHOICES = ( class RegistrationForm(forms.Form): """Форма регистрации нового пользователя.""" - email = forms.EmailField(label=u'E-mail', max_length=75, error_messages={'invalid': u'Неверный формат e-mail.',}, + email = forms.EmailField(label=u'Укажите e-mail', max_length=75, error_messages={'invalid': u'Неверный формат e-mail.',}, help_text=u'На него будет выслано письмо с подтверждением.') - password1 = forms.CharField(label=u'Пароль', min_length=PASSWORD_MIN_LEN, widget=forms.PasswordInput, + password1 = forms.CharField(label=u'Введите пароль', min_length=PASSWORD_MIN_LEN, widget=forms.PasswordInput, error_messages={'min_length': u'Не менее %s символов.' % PASSWORD_MIN_LEN,}, help_text=u'Не менее %s символов.' % PASSWORD_MIN_LEN) @@ -148,9 +148,9 @@ class ChangeEmailForm(forms.Form): class LoginForm(forms.Form): """Форма логина.""" - email = forms.EmailField(label=u'E-mail', max_length=75) - password = forms.CharField(label=u'Пароль', widget=forms.PasswordInput) - reset_old_login = forms.BooleanField(label='Сбросить старый вход', required=False) + email = forms.EmailField(label=u'Укажите e-mail', max_length=75) + password = forms.CharField(label=u'Введите пароль', widget=forms.PasswordInput) + reset_old_login = forms.BooleanField(label=u'Сбросить старый вход', required=False) # TODO капча на случай если пароль не ввели правильно с первого раза diff --git a/project/settings.py b/project/settings.py index 9b74345..7a6bd17 100644 --- a/project/settings.py +++ b/project/settings.py @@ -252,8 +252,20 @@ LANGUAGES = ( CMS_TEMPLATES = ( ('pages/index.html', 'Index Page'), ('pages/inner_page.html', u'Внутренняя страница'), + ('pages/placeholders.html', u'Блоки для других страниц'), ) +CMS_PLACEHOLDER_CONF = { + 'why_register': { + 'plugins': ['CMSDescTextBlockPlugin'], + 'name': u'Зачем регистрироваться', + }, + 'reasons': { + 'plugins': ['CMSExtendedTextBlockPlugin'], + 'name': u'На главной - причины', + }, +} + CMS_PERMISSION = True BROKER_HOST = "localhost" @@ -286,7 +298,8 @@ CELERYBEAT_SCHEDULE = { }, } -CAPTCHA_OUTPUT_FORMAT = u"%(hidden_field)s%(text_field)s %(image)s" +CAPTCHA_OUTPUT_FORMAT = u"%(hidden_field)s %(image)s%(text_field)s" +CAPTCHA_FONT_SIZE = 36 CKEDITOR_SETTINGS = { 'language': '', 'skin': 'moono', diff --git a/project/static/css/style.css b/project/static/css/style.css index c4bf659..ce21555 100644 --- a/project/static/css/style.css +++ b/project/static/css/style.css @@ -73,7 +73,9 @@ body { .auth_block {margin-top:30px;} .login, .register {display:block;padding-left:34px;margin: 0 3px;height:36px;text-decoration:none;font-family:Arial,Helvetica,sans-serif;color:#36393f; line-height:36px;} .login {background: url(../img/login-yellow.png) no-repeat left center;} +.login_active {background: url(../img/login-black.png) no-repeat left center;} .register {background: url(../img/register-yellow.png) no-repeat left center;} +.register_active {background: url(../img/register-black.png) no-repeat left center;} .index-banner-text {height:551px;width:800px;color:#fff;font-size:24px;font-family:"MyriadProRegular";position:relative;overflow:hidden;} .index-banner-text h1 {font-size:48px;} @@ -113,6 +115,108 @@ body { #index-yellow-banner .btn {width:400px;height:75px;margin-top:57px;} #index-yellow-banner .btn a {width:400px;height:75px;background:#313942;display:table-cell;vertical-align:middle;text-align:center;text-transform:uppercase;text-decoration:none;color:#fff;font-size:22px;} +.login-page {margin:64px auto;width:514px;padding:20px;background:#fff;box-shadow: 0 0 5px #ddd;} +.register-arrow {width:300px;height:100px;background:url(../img/black_arrow.png) no-repeat center center;position:absolute;left:50%;top:340px;margin-left:300px;color:#fff;padding: 20px 0 0 0;font-style:italic;text-align:center;font-size:16px;} +.register-arrow p {margin:5px;} + +.auth-form .field input[type="text"], .auth-form .field input[type="email"], .auth-form .field input[type="password"]{width:300px;vertical-align:bottom;height:50px;margin-top:32px;} +.auth-form .field input[type="checkbox"] {height:20px;width:20px;vertical-align:middle;height:50px;} +.auth-form .field#captcha input[type="text"] {width:130px;height:50px;} +.auth-form .field label {display:inline-block;width:200px;text-align:right;line-height:50px;padding-right:5px;vertical-align:middle;} +.auth-form .field#profile_type label {width:200px;vertical-align:middle;height:50px;} +.auth-form .field #id_register-profile_type {float:right;margin-top:15px;} +.auth-form .field #id_register-profile_type label {width:300px;font-size:13px;line-height:20px;vertical-align:bottom;height:30px;text-align:left;} +.auth-form .field img {vertical-align:middle;} + +.auth-form .buttons {text-align:center;margin-top:45px;} +.auth-form .buttons input[type="submit"]{background:#fed13e;border:none;font-size:22px;padding:15px 40px;color:#4e5661;font-family:"Arial Narrow", Arial, sans-serif;font-weight:bold;} +.auth-form .captcha_refresh {display:inline-block;margin: 0 10px;width:24px;} + +.register-form {margin:0 46px 64px 0;width:514px;padding:20px;background:#fff;box-shadow: 0 0 5px #ddd;float:left;} + +.register_desc h2 {margin:0;} +#why_register {margin-bottom:260px;position:relative;} +#prices-block {overflow:hidden;width:100%;height:146px;margin-top:20px;} +.price-block {float:left;width:144px;height:116px;margin-right:8px;} +#prices-block .price-block:last-child {margin-right:0;} +.price-block .price-header { + height: 34px; + width:144px; + border-radius: 15px 15px 0 0; + background: #313942; /* Old browsers */ + background: -moz-linear-gradient(left, #313942 0%, #7f848a 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, right top, color-stop(0%,#313942), color-stop(100%,#7f848a)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(left, #313942 0%,#7f848a 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(left, #313942 0%,#7f848a 100%); /* Opera 11.10+ */ + background: -ms-linear-gradient(left, #313942 0%,#7f848a 100%); /* IE10+ */ + background: linear-gradient(to right, #313942 0%,#7f848a 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#313942', endColorstr='#7f848a',GradientType=1 ); /* IE6-9 */ + font-weight: bold; + font-size: 20px; + line-height: 34px; + color: #fff; + text-align:center; +} + + +.price-block .price-content { + position:relative; + border-radius: 0 0 15px 15px; + border: 1px solid #cfcfcf; + border-top:none; + height: 82px; + width:142px; + text-align:center; + font-size:44px; + font-family:"MyriadPro-Light"; + line-height:93px; + color:#313942; + background: #fbfbfb; /* Old browsers */ + background: -moz-linear-gradient(top, #fbfbfb 0%, #ededed 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fbfbfb), color-stop(100%,#ededed)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #fbfbfb 0%,#ededed 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #fbfbfb 0%,#ededed 100%); /* Opera 11.10+ */ + background: -ms-linear-gradient(top, #fbfbfb 0%,#ededed 100%); /* IE10+ */ + background: linear-gradient(to bottom, #fbfbfb 0%,#ededed 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fbfbfb', endColorstr='#ededed',GradientType=0 ); /* IE6-9 */ +} + +.price-block .price-triangle{ + position:absolute; + top:0; + right:0; + width: 0; + height: 0; + border-style: solid; + border-width: 0 54px 54px 0; + border-color: transparent #fed13e transparent transparent; +} +.price-block .price-discount { + position:absolute; + top:0; + right:0; + width:54px; + height:54px; + padding:5px 5px 0 0; +} +.price-block .price-discount span{ + font-size:18px; + font-family:'MyriadProRegular'; + font-weight:bold; + display:block; + height:18px; + line-height:18px; + width:54px; + padding:0; + margin:0; + text-align:right; +} + +.desc-block {width:600px;height:30px;overflow:visible;cursor:pointer;box-sizing:border-box;} +.desc-block-text a {font-size:15px;line-height:15px;} +.desc-block-more {font-size:14px;line-height:14px;margin:0;background:#272b31;position:absolute;left:320px;top:0;width:275px;height:100%;box-sizing:border-box;padding:20px;color:#fff;font-style:italic;} +.desc-triangle {background: url(../img/triangle2.png) no-repeat center center;width:11px;height:25px;position:relative;left:309px;top:-12px;} + .db {display:block;} a { color: #498dd0; cursor: pointer; text-decoration: underline; } a img { outline: none; border: 0; } @@ -142,8 +246,9 @@ ul.messagelist li.error { background-image: url(../img/icon-error.gif); } .help-text { font-size: 8pt; color: #666666; } form { font-size: small; padding: 0; margin: 0; } +form label {font-style:italic;font-size:16px;} -input, select, textarea { font-family: Arial,Helvetica,sans-serif; font-size: small; } +input, select, textarea { font-family: Arial,Helvetica,sans-serif; font-size: 46px;line-height:46px; background:#f8f8f8;background:#f8f8f8;} fieldset { padding: 0 0 10px; @@ -158,7 +263,6 @@ input[type=text], input[type=password], textarea, option { padding-left: 2px; ma .long-input input { width: 350px; } -.field { margin: 10px 0; } .block { margin: 10px 0; } .client-form .col1 { float: left; width: 350px; } @@ -334,7 +438,7 @@ div.blockMsg { width: 100%; height: 100%; top: 0; left: 0; text-align: center; } #footer-content a {margin-right: 150px;} .footer-text {position:relative;padding:25px 0 10px 0;color:#fff;} -#menu {width: 100%;height:50px;} +#menu {width: 100%;height:50px;position:relative;overflow:visible;} #menu ul li {display:table-cell;height:50px;background:#313942;font-family:"Arial Narrow", Arial, sans-serif;font-size:16px;vertical-align:middle;border-right:solid 1px #272b31;border-left: solid 1px #434a52} #menu ul li.yellow {background:#fed13e;} #menu ul li.yellow a, #menu ul li.yellow span {color:#313942;} @@ -343,6 +447,8 @@ div.blockMsg { width: 100%; height: 100%; top: 0; left: 0; text-align: center; } #menu ul li a {color:#fff;} #menu ul li span{color:#fed13e;} #menu ul li.selected{background:url('../img/menu-selected.png') #313942 no-repeat bottom center; } +#menu .other_docs_menu {position:absolute;top:50px;z-index:50;} +#menu .other_docs_menu li {display:block;} .preview {width:780px;height:500px;overflow:scroll;float:left;} .list-col2 {float: left; width: 180px; margin-left: 16px; padding: 0 10px 10px 10px; border-left: solid 1px #797979;} diff --git a/project/static/img/black_arrow.png b/project/static/img/black_arrow.png new file mode 100644 index 0000000..2c6dd12 Binary files /dev/null and b/project/static/img/black_arrow.png differ diff --git a/project/static/img/refresh.png b/project/static/img/refresh.png index d510628..642293e 100644 Binary files a/project/static/img/refresh.png and b/project/static/img/refresh.png differ diff --git a/project/static/img/register-black.png b/project/static/img/register-black.png new file mode 100644 index 0000000..dfd1a0f Binary files /dev/null and b/project/static/img/register-black.png differ diff --git a/project/static/img/triangle2.png b/project/static/img/triangle2.png new file mode 100644 index 0000000..14f11d9 Binary files /dev/null and b/project/static/img/triangle2.png differ diff --git a/project/static/js/commons.js b/project/static/js/commons.js index e58a006..f337c45 100644 --- a/project/static/js/commons.js +++ b/project/static/js/commons.js @@ -1,6 +1,7 @@ $(document).ready(function() { $('.has-datepicker').datepicker({dateFormat: 'dd.mm.yy'}); - $('.extended-block').click(function(){ + $('.extended-block').click(function(e){ + e.preventDefault(); $('.extended-block').removeClass('active'); $('.extended-block-more').hide(); $('.extended-triangle').hide(); @@ -8,6 +9,24 @@ $(document).ready(function() { $(this).find('.extended-triangle').show(); $(this).addClass('active'); }); + $('.desc-block').click(function(e){ + e.preventDefault(); + $('.desc-block').removeClass('active'); + $('.desc-block-more').hide(); + $('.desc-triangle').hide(); + $(this).find('.desc-block-more').show(); + $(this).find('.desc-triangle').show(); + $(this).addClass('active'); + }); + $('#other_docs').mouseover(function(e){ + $('.other_docs_menu').show(); + }); + $('.other_docs_menu').mouseout(function(e){ + $('.other_docs_menu').hide(); + }); + $('#other_docs').mouseout(function(e){ + $('.other_docs_menu').hide(); + }); $('.close-message').click(function(e){ e.preventDefault(); $(this).closest('li').hide(); diff --git a/project/templates/base.html b/project/templates/base.html index 2b8a8bf..f143f05 100644 --- a/project/templates/base.html +++ b/project/templates/base.html @@ -1,5 +1,8 @@ {# spaceless #} {% load cms_tags sekizai_tags menu_tags %} +{% url 'myauth_login' as myauth_login %} +{% url 'myauth_register' as myauth_register %} + @@ -49,8 +52,8 @@ {% else %}
- Регистрация и цены - Вход в систему + Регистрация и цены + Вход в систему
{% endif %}
diff --git a/project/templates/menu/menu.html b/project/templates/menu/menu.html index e2684e1..565c2b3 100644 --- a/project/templates/menu/menu.html +++ b/project/templates/menu/menu.html @@ -33,13 +33,15 @@ СЧЕТА-ФАКТУРЫ {% endif %} -
  • - Другие документы - {% if child.children %} -