register page

remotes/origin/yandex
Bachurin Sergey 11 years ago
parent 47ceccf12a
commit 24f28e8457
  1. 22
      project/index_blocks/cms_plugins.py
  2. 25
      project/index_blocks/forms.py
  3. 78
      project/index_blocks/migrations/0006_auto__add_desctextblockplugin.py
  4. 5
      project/index_blocks/models.py
  5. 11
      project/index_blocks/templates/desc_block.html
  6. 15
      project/index_blocks/templates/reg_form.html
  7. 10
      project/myauth/forms.py
  8. 15
      project/settings.py
  9. 112
      project/static/css/style.css
  10. BIN
      project/static/img/black_arrow.png
  11. BIN
      project/static/img/refresh.png
  12. BIN
      project/static/img/register-black.png
  13. BIN
      project/static/img/triangle2.png
  14. 21
      project/static/js/commons.js
  15. 7
      project/templates/base.html
  16. 14
      project/templates/menu/menu.html
  17. 9
      project/templates/myauth/login.html
  18. 7
      project/templates/myauth/login_form.html
  19. 37
      project/templates/myauth/register.html
  20. 7
      project/templates/myauth/register_form.html
  21. 10
      project/templates/pages/placeholders.html

@ -1,8 +1,9 @@
#-*- coding: utf -8-*- #-*- coding: utf -8-*-
from cms.plugin_base import CMSPluginBase from cms.plugin_base import CMSPluginBase
from cms.plugin_pool import plugin_pool from cms.plugin_pool import plugin_pool
from models import IndexBlockPlugin, ExtendedTextBlockPlugin, ExtendedBlockPlugin from models import IndexBlockPlugin, ExtendedTextBlockPlugin, ExtendedBlockPlugin, DescTextBlockPlugin
from forms import IndexBlockForm, ExtendedBlockForm from forms import IndexBlockForm, ExtendedBlockForm, ExtendedTextBlockForm, DescBlockForm
from project.myauth.forms import RegistrationForm
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext as _
@ -22,7 +23,7 @@ class CMSIndexBlockPlugin(CMSPluginBase):
class CMSExtendedTextBlockPlugin(CMSPluginBase): class CMSExtendedTextBlockPlugin(CMSPluginBase):
model = ExtendedTextBlockPlugin model = ExtendedTextBlockPlugin
form = ExtendedBlockForm form = ExtendedTextBlockForm
name = u'Раскрывающийся блок' name = u'Раскрывающийся блок'
render_template = "extended_text_block.html" render_template = "extended_text_block.html"
@ -48,6 +49,20 @@ class CMSExtendedBlockPlugin(CMSPluginBase):
return context 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): class CMSSlideshowBlockPlugin(CMSPluginBase):
model = IndexBlockPlugin model = IndexBlockPlugin
form = IndexBlockForm form = IndexBlockForm
@ -65,4 +80,5 @@ class CMSSlideshowBlockPlugin(CMSPluginBase):
plugin_pool.register_plugin(CMSExtendedTextBlockPlugin) plugin_pool.register_plugin(CMSExtendedTextBlockPlugin)
# plugin_pool.register_plugin(CMSIndexBlockPlugin) # plugin_pool.register_plugin(CMSIndexBlockPlugin)
plugin_pool.register_plugin(CMSExtendedBlockPlugin) plugin_pool.register_plugin(CMSExtendedBlockPlugin)
plugin_pool.register_plugin(CMSDescTextBlockPlugin)
# plugin_pool.register_plugin(CMSSlideshowBlockPlugin) # plugin_pool.register_plugin(CMSSlideshowBlockPlugin)

@ -1,27 +1,32 @@
from django.forms.models import ModelForm from django.forms.models import ModelForm
from .models import IndexBlockPlugin, ExtendedBlockPlugin from .models import IndexBlockPlugin, ExtendedTextBlockPlugin, ExtendedBlockPlugin, DescTextBlockPlugin
from django import forms from django import forms
class IndexBlockForm(ModelForm): class IndexBlockForm(ModelForm):
#description = forms.CharField()
class Meta: class Meta:
model = IndexBlockPlugin model = IndexBlockPlugin
# widgets = { exclude = ('page', 'position', 'placeholder', 'language', 'plugin_type')
# 'description': TinyMCE(attrs={'cols': 80, 'rows': 10}),
# }
class ExtendedTextBlockForm(ModelForm):
class Meta:
model = ExtendedTextBlockPlugin
exclude = ('page', 'position', 'placeholder', 'language', 'plugin_type') exclude = ('page', 'position', 'placeholder', 'language', 'plugin_type')
class ExtendedBlockForm(ModelForm): class ExtendedBlockForm(ModelForm):
#description = forms.CharField()
class Meta: class Meta:
model = ExtendedBlockPlugin model = ExtendedBlockPlugin
# widgets = { exclude = ('page', 'position', 'placeholder', 'language', 'plugin_type')
# 'description': TinyMCE(attrs={'cols': 80, 'rows': 10}),
# 'extended_description': TinyMCE(attrs={'cols': 80, 'rows': 10}),
# } class DescBlockForm(ModelForm):
class Meta:
model = ExtendedBlockPlugin
exclude = ('page', 'position', 'placeholder', 'language', 'plugin_type') exclude = ('page', 'position', 'placeholder', 'language', 'plugin_type')

@ -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']

@ -9,6 +9,11 @@ class IndexBlockPlugin(CMSPlugin):
description = models.TextField() description = models.TextField()
class DescTextBlockPlugin(CMSPlugin):
title = models.CharField(max_length=100)
description = models.TextField()
class ExtendedTextBlockPlugin(CMSPlugin): class ExtendedTextBlockPlugin(CMSPlugin):
order = models.PositiveIntegerField(default=1) order = models.PositiveIntegerField(default=1)
title = models.CharField(max_length=100) title = models.CharField(max_length=100)

@ -0,0 +1,11 @@
{% load thumbnail %}
<article class='desc-block'>
<div class='desc-block-text'>
<a href="#">{{ object.title }}</a>
</div>
<div class='desc-triangle hidden'></div>
<div class='clear'></div>
<div class='desc-block-more hidden'>
{{ object.description|safe }}
</div>
</article>

@ -0,0 +1,15 @@
{% load thumbnail %}
<article class='desc-block'>
<div class='desc-block-text'>
<div class='left text'>
<a href="#">{{ object.title }}</a>
</div>
</div>
<div class='desc-triangle hidden'></div>
<div class='clear'></div>
<div class='desc-block-more hidden'>
<div class="text">
{{ object.description|safe }}
</div>
</div>
</article>

@ -22,10 +22,10 @@ PROFILE_CHOICES = (
class RegistrationForm(forms.Form): 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'На него будет выслано письмо с подтверждением.') 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,}, error_messages={'min_length': u'Не менее %s символов.' % PASSWORD_MIN_LEN,},
help_text=u'Не менее %s символов.' % PASSWORD_MIN_LEN) help_text=u'Не менее %s символов.' % PASSWORD_MIN_LEN)
@ -148,9 +148,9 @@ class ChangeEmailForm(forms.Form):
class LoginForm(forms.Form): class LoginForm(forms.Form):
"""Форма логина.""" """Форма логина."""
email = forms.EmailField(label=u'E-mail', max_length=75) email = forms.EmailField(label=u'Укажите e-mail', max_length=75)
password = forms.CharField(label=u'Пароль', widget=forms.PasswordInput) password = forms.CharField(label=u'Введите пароль', widget=forms.PasswordInput)
reset_old_login = forms.BooleanField(label='Сбросить старый вход', required=False) reset_old_login = forms.BooleanField(label=u'Сбросить старый вход', required=False)
# TODO капча на случай если пароль не ввели правильно с первого раза # TODO капча на случай если пароль не ввели правильно с первого раза

@ -252,8 +252,20 @@ LANGUAGES = (
CMS_TEMPLATES = ( CMS_TEMPLATES = (
('pages/index.html', 'Index Page'), ('pages/index.html', 'Index Page'),
('pages/inner_page.html', u'Внутренняя страница'), ('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 CMS_PERMISSION = True
BROKER_HOST = "localhost" BROKER_HOST = "localhost"
@ -286,7 +298,8 @@ CELERYBEAT_SCHEDULE = {
}, },
} }
CAPTCHA_OUTPUT_FORMAT = u"%(hidden_field)s%(text_field)s<a href='#' class='captcha_refresh'><img src='" + STATIC_URL + "img/refresh.png' /></a> %(image)s" CAPTCHA_OUTPUT_FORMAT = u"%(hidden_field)s %(image)s<a href='#' class='captcha_refresh'><img src='" + STATIC_URL + "img/refresh.png' /></a>%(text_field)s"
CAPTCHA_FONT_SIZE = 36
CKEDITOR_SETTINGS = { CKEDITOR_SETTINGS = {
'language': '', 'language': '',
'skin': 'moono', 'skin': 'moono',

@ -73,7 +73,9 @@ body {
.auth_block {margin-top:30px;} .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, .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 {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 {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 {height:551px;width:800px;color:#fff;font-size:24px;font-family:"MyriadProRegular";position:relative;overflow:hidden;}
.index-banner-text h1 {font-size:48px;} .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 {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;} #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;} .db {display:block;}
a { color: #498dd0; cursor: pointer; text-decoration: underline; } a { color: #498dd0; cursor: pointer; text-decoration: underline; }
a img { outline: none; border: 0; } 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; } .help-text { font-size: 8pt; color: #666666; }
form { font-size: small; padding: 0; margin: 0; } 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 { fieldset {
padding: 0 0 10px; 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; } .long-input input { width: 350px; }
.field { margin: 10px 0; }
.block { margin: 10px 0; } .block { margin: 10px 0; }
.client-form .col1 { float: left; width: 350px; } .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-content a {margin-right: 150px;}
.footer-text {position:relative;padding:25px 0 10px 0;color:#fff;} .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 {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 {background:#fed13e;}
#menu ul li.yellow a, #menu ul li.yellow span {color:#313942;} #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 a {color:#fff;}
#menu ul li span{color:#fed13e;} #menu ul li span{color:#fed13e;}
#menu ul li.selected{background:url('../img/menu-selected.png') #313942 no-repeat bottom center; } #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;} .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;} .list-col2 {float: left; width: 180px; margin-left: 16px; padding: 0 10px 10px 10px; border-left: solid 1px #797979;}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 357 B

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 928 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 322 B

@ -1,6 +1,7 @@
$(document).ready(function() { $(document).ready(function() {
$('.has-datepicker').datepicker({dateFormat: 'dd.mm.yy'}); $('.has-datepicker').datepicker({dateFormat: 'dd.mm.yy'});
$('.extended-block').click(function(){ $('.extended-block').click(function(e){
e.preventDefault();
$('.extended-block').removeClass('active'); $('.extended-block').removeClass('active');
$('.extended-block-more').hide(); $('.extended-block-more').hide();
$('.extended-triangle').hide(); $('.extended-triangle').hide();
@ -8,6 +9,24 @@ $(document).ready(function() {
$(this).find('.extended-triangle').show(); $(this).find('.extended-triangle').show();
$(this).addClass('active'); $(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){ $('.close-message').click(function(e){
e.preventDefault(); e.preventDefault();
$(this).closest('li').hide(); $(this).closest('li').hide();

@ -1,5 +1,8 @@
{# spaceless #}<!DOCTYPE html> {# spaceless #}<!DOCTYPE html>
{% load cms_tags sekizai_tags menu_tags %} {% load cms_tags sekizai_tags menu_tags %}
{% url 'myauth_login' as myauth_login %}
{% url 'myauth_register' as myauth_register %}
<html> <html>
<head> <head>
<meta charset='utf-8'> <meta charset='utf-8'>
@ -49,8 +52,8 @@
</div> </div>
{% else %} {% else %}
<div class="auth_block right"> <div class="auth_block right">
<a href="{% url 'myauth_register' %}" class="register left">Регистрация и цены</a> <a href="{% url 'myauth_register' %}" class="{% if request.path == myauth_register %}register_active {% endif %}register left">Регистрация и цены</a>
<a href="{% url 'myauth_login' %}" class="login left">Вход в систему</a> <a href="{% url 'myauth_login' %}" class="{% if request.path == myauth_login %}login_active {% endif %}login left">Вход в систему</a>
</div> </div>
{% endif %} {% endif %}
<div class='clear'></div> <div class='clear'></div>

@ -33,13 +33,15 @@
<a href="{{ url_faktura_list }}">СЧЕТА-ФАКТУРЫ</a> <a href="{{ url_faktura_list }}">СЧЕТА-ФАКТУРЫ</a>
</li> </li>
{% endif %} {% endif %}
<li class=""> <li id="other_docs">
<a href="#">Другие документы</a> <a href="#" id="other_docs_a">Другие документы</a>
{% if child.children %} <ul class="other_docs_menu hidden">
<ul> {% for child in children|slice:"4:" %}
{% show_menu from_level to_level extra_inactive extra_active template "" "" child %} <li class="child{% if child.selected %} selected{% endif %}{% if child.ancestor %} ancestor{% endif %}{% if child.sibling %} sibling{% endif %}{% if child.descendant %} descendant{% endif %}">
<a href="{{ child.attr.redirect_url|default:child.get_absolute_url }}">{{ child.get_menu_title }}</a>
</li>
{% endfor %}
</ul> </ul>
{% endif %}
</li> </li>
<li class="yellow child{% if request.path == customer_profile_view %} selected{% endif %}"> <li class="yellow child{% if request.path == customer_profile_view %} selected{% endif %}">
<a href="{{ customer_profile_view }}">МОИ РЕКВИЗИТЫ</a> <a href="{{ customer_profile_view }}">МОИ РЕКВИЗИТЫ</a>

@ -3,11 +3,18 @@
{% block title %}Вход в систему{% endblock %} {% block title %}Вход в систему{% endblock %}
{% block content %} {% block content %}
<h2>Вход в систему</h2> <div class="login-page">
<h2>ВХОД В СИСТЕМУ ДОКУМЕНТОРА</h2>
{% if user.is_authenticated %} {% if user.is_authenticated %}
<p>Вы уже авторизованы. <a href="{% url 'auth_logout' %}">Выйти?</a></p> <p>Вы уже авторизованы. <a href="{% url 'auth_logout' %}">Выйти?</a></p>
{% else %} {% else %}
{% include 'myauth/login_form.html' %} {% include 'myauth/login_form.html' %}
{% endif %} {% endif %}
</div>
<div class='register-arrow'>
<p>Нет пароля?-</p>
<a href="#">Зарегистрируйтесь!</a>
<p>45 дней всё бесплатно!</p>
</div>
{% endblock %} {% endblock %}

@ -1,4 +1,4 @@
<div class="login-form"> <div class="login-form auth-form">
{% if form.non_field_errors %} {% if form.non_field_errors %}
<p class="error">{{ form.non_field_errors }}</p> <p class="error">{{ form.non_field_errors }}</p>
{% endif %} {% endif %}
@ -14,7 +14,6 @@
<div id="{{ field.name }}" class="field"> <div id="{{ field.name }}" class="field">
{% if field.label %} {% if field.label %}
{{ field.label_tag }} {{ field.label_tag }}
<div class="clear"></div>
{% endif %} {% endif %}
{{ field }} {{ field }}
@ -31,8 +30,8 @@
{% endfor %} {% endfor %}
<div class="buttons"> <div class="buttons">
<input type="submit" value="Войти" /> <input type="submit" value="ВОЙТИ В СИСТЕМУ!" />
<a href="{% url 'myauth_reset' %}">Забыли пароль?</a>
</div> </div>
<a href="{% url 'myauth_reset' %}">Забыли пароль?</a>
</form> </form>
</div> </div>

@ -1,4 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load cms_tags %}
{% block title %}Регистрация и цены{% endblock %} {% block title %}Регистрация и цены{% endblock %}
@ -9,5 +10,41 @@
<p>Вы уже авторизованы. <a href="{% url 'auth_logout' %}">Выйти?</a></p> <p>Вы уже авторизованы. <a href="{% url 'auth_logout' %}">Выйти?</a></p>
{% else %} {% else %}
{% include 'myauth/register_form.html' %} {% include 'myauth/register_form.html' %}
<div class="register_desc right">
<h2>Бесплатный пробный период - 45 дней!</h2>
<p>Для всех новых пользователей, без каких-либо ограничений в возможностях сайта.</p>
<div id="prices-block">
<div class='price-block'>
<div class='price-header'><span>1 месяц</span></div>
<div class='price-content'>200 р.</div>
</div>
<div class='price-block'>
<div class='price-header'>6 месяцев</div>
<div class='price-content'>1000 р.
<div class='price-triangle'></div>
<div class='price-discount'><span>-10</span><span>%</span></div>
</div>
</div>
<div class='price-block'>
<div class='price-header'>1 год</div>
<div class='price-content'>1800 р.
<div class='price-triangle'></div>
<div class='price-discount'><span>-20</span><span>%</span></div>
</div>
</div>
<div class='price-block'>
<div class='price-header'>2 года</div>
<div class='price-content'>3000 р.
<div class='price-triangle'></div>
<div class='price-discount'><span>-30</span><span>%</span></div>
</div>
</div>
</div>
<div class="clear"></div>
<div id="why_register">
{% static_placeholder 'why_register' %}
</div>
</div>
<div class="clear"></div>
{% endif %} {% endif %}
{% endblock %} {% endblock %}

@ -1,4 +1,4 @@
<div class="register-form"> <div class="auth-form register-form">
{% if form.non_field_errors %} {% if form.non_field_errors %}
<p class="error">{{ form.non_field_errors }}</p> <p class="error">{{ form.non_field_errors }}</p>
{% endif %} {% endif %}
@ -14,16 +14,11 @@
<div id="{{ field.name }}" class="field"> <div id="{{ field.name }}" class="field">
{% if field.label %} {% if field.label %}
{{ field.label_tag }} {{ field.label_tag }}
<div class="clear"></div>
{% endif %} {% endif %}
{{ field }} {{ field }}
<div class="clear"></div> <div class="clear"></div>
{% if field.help_text %}
<span class="help-text">{{ field.help_text }}</span>
{% endif %}
{% if field.errors %} {% if field.errors %}
{{ field.errors }} {{ field.errors }}
{% endif %} {% endif %}

@ -0,0 +1,10 @@
{% extends "base.html" %}
{% load cms_tags %}
{% block title %}Регистрация и цены{% endblock %}
{% block content %}
<h1>Шаблоны для других страниц, не из CMS</h1>
<h2>Блок для страницы регистрации:</h2>
{% static_placeholder 'why_register' %}
{% endblock %}
Loading…
Cancel
Save