Permalink
Browse files

осталась валидация

  • Loading branch information...
1 parent 0a4670a commit a5c8e405d6fdfb0f833a4a76807f66eab39b4459 @Guest007 committed Feb 24, 2014
Showing with 113 additions and 55 deletions.
  1. +4 −21 orders/views.py
  2. +21 −17 templates/helpers.html
  3. +28 −5 theme/css/template.css
  4. +30 −2 theme/css/template.less
  5. +30 −10 theme/js/init.js
View
25 orders/views.py
@@ -109,7 +109,6 @@ def nextstep_order(request, pk):
"""Final confirm of Order"""
# print "pk: ", pk
order = get_object_or_404(Orders, pk=int(pk))
- # print "And what??? ", order.template.id
templ = OrderTemplate.objects.get(id=order.template.id)
result = {"object": order,
"templ": templ,
@@ -179,13 +178,12 @@ def save_order(request, step=1):
if id != 0:
templ_id = Orders.objects.get(id=id).template.id
- # print "templ_id: ", templ_id
+
else:
templ_id = 0
templ = get_object_or_None(OrderTemplate, pk=templ_id) # Или получаем тело заказа или создаём новое (новый заказ)
- # if templ:
- # print "TEMPLATE IS PRESENT! ", templ.id
+
if templ is None:
templ = OrderTemplate(name=(user if user else '')) # Создаем тело заказа. Название - имя заказчика
@@ -207,7 +205,6 @@ def save_order(request, step=1):
templ.barcode = (True if float(request.POST.get("barcode", False)) > 0 else False)
templ.foil = (True if float(request.POST.get("foil", False)) > 0 else False)
else:
- # print request.POST
templ.color_back = Color(id=request.POST.get("color_back", None))
templ.color_front = Color(id=request.POST.get("color_front", None))
@@ -236,7 +233,6 @@ def save_order(request, step=1):
try: # Проверяем, это новый заказ или редактируем созданный
pk = int(request.POST.get("id", 0))
- # print "ID of Order: ", pk
except (TypeError, ValueError):
pk = 0
order = None
@@ -249,19 +245,13 @@ def save_order(request, step=1):
order.template = OrderTemplate(id=templ.id)
order.FIO = user
- # print order.FIO
order.draw = draw # Количество
- # print order.draw
order.cost = request.POST.get("sum", False)
order.email = email
- # print order.email
order.phone = phone
- # print order.phone
order.maket = maket
- # print maket
order.save()
- # print "ID of Order (order.id): ", order.id
if step == '1':
result = {"result": "OK", "id": order.id,
@@ -312,7 +302,7 @@ def save_order1(request, step=1):
templ.save() # взяли шаблон по id, обрали признак шаблона и скопировали.
order = Orders(template=templ)
- # draw = request.POST.get("count", None)
+
order.draw = draw
order.cost = float(draw) * float(price)
@@ -401,15 +391,8 @@ def finish(request):
'time': time
}
- # print obj.template.magnet
- # for i in obj:
- # print i
- # message = request.POST.get('message', '')
- # time = datetime.datetime.now()
- #
email = Settings.objects.get(slug='order-mail').content
- # # print email.content
- #
+
try:
messages.ORDER_TO_CLIENT.send(obj.email,
**mail_content)
View
38 templates/helpers.html
@@ -1,4 +1,4 @@
-<form class="jClever last_step" method="post" action="{% url 'finish' %}">
+<form class="jClever confirm last_step" method="post" action="{% url 'finish' %}">
<input type="hidden" name="id" value="{{ object.id }}">
<div class="order">
<span>Ваш заказ<small class="close_order"><i class="fa fa-times"></i></small></span>
@@ -49,24 +49,10 @@
</li>
</ul>
</div>
-</form>
-<script>
- $('.last_step').submit(function(){
- var action = $(this).attr('action');
- var that = $(this);
- $.ajax({
- url: action,
- type: 'POST',
- data: that.serialize(),
- complete: function(result){
- document.location.href = "/";
- }
- });
- });
-</script>
+</form>
-<form class="jClever user_info" method="post" action="{% url 'finish' %}">
+<form class="jClever user_info last_step" method="post" action="{% url 'finish' %}">
<input type="hidden" name="id" value="{{ object.id }}">
<div class="order info">
<span>Информация к заказу<small class="close_order"><i class="fa fa-times"></i></small></span>
@@ -79,9 +65,27 @@
</ul>
<ul>
<li>
+ <span>Способ оплаты</span>
+ <div class="radio">
+ <input type="radio" name="payment_status" value="f" id="r_01" checked>
+ <label for="r_01">Физическое лицо</label>
+ </div>
+ <div class="radio">
+ <input type="radio" name="payment_status" value="u" id="r_02">
+ <label for="r_02">Юридическое лицо</label>
+ </div>
+ </li>
+ <li>
+ <div class="select">
+ <select name="raschet">
+ <option value="1">Наличный расчёт</option>
+ <option value="2">Безналичный расчёт</option>
+ </select>
+ </div>
<input type="submit" value="Отправить заказ">
</li>
</ul>
</div>
+
</form>
View
33 theme/css/template.css
@@ -222,24 +222,24 @@ body.under_overlay > div.data_wrap > div > .data_container > .data_checking > fo
body.under_overlay > div.data_wrap > div > .data_container > .data_checking > form > div.order > ul.info > li:first-child > span > i.fa-check {
color: #33ae30;
}
-body.under_overlay > div.data_wrap > div > .data_container > .data_checking > form > div.order.info > ul {
+body.under_overlay > div.data_wrap > div > .data_container > .data_checking > form > div.order.info > ul.info {
width: 100%;
padding: 20px 0;
}
-body.under_overlay > div.data_wrap > div > .data_container > .data_checking > form > div.order.info > ul > li {
+body.under_overlay > div.data_wrap > div > .data_container > .data_checking > form > div.order.info > ul.info > li {
width: 600px !important;
padding: 0 20px !important;
border: 0 !important;
padding: 0;
}
-body.under_overlay > div.data_wrap > div > .data_container > .data_checking > form > div.order.info > ul > li > input {
+body.under_overlay > div.data_wrap > div > .data_container > .data_checking > form > div.order.info > ul.info > li > input {
height: 36px;
display: block;
position: relative;
margin: 20px 0;
}
-body.under_overlay > div.data_wrap > div > .data_container > .data_checking > form > div.order.info > ul > li > input[type="text"],
-body.under_overlay > div.data_wrap > div > .data_container > .data_checking > form > div.order.info > ul > li > input[type="email"] {
+body.under_overlay > div.data_wrap > div > .data_container > .data_checking > form > div.order.info > ul.info > li > input[type="text"],
+body.under_overlay > div.data_wrap > div > .data_container > .data_checking > form > div.order.info > ul.info > li > input[type="email"] {
background: #fff;
border: 2px solid #ddd;
border-radius: 6px;
@@ -284,6 +284,29 @@ body.under_overlay > div.data_wrap > div > .data_container > .data_checking.file
height: 360px;
margin: -180px 0 0 -310px;
}
+body.under_overlay > div.data_wrap > div > .data_container > .data_checking.thanks {
+ background: #fff !important;
+ width: 600px !important;
+ padding: 20px !important;
+}
+body.under_overlay > div.data_wrap > div > .data_container > .data_checking.thanks > span {
+ display: inline-block;
+ width: 600px;
+ font: 14px/24px 'Open Sans', sans-serif;
+ border-bottom: 0 !important;
+ background: #fff;
+}
+body.under_overlay > div.data_wrap > div > .data_container > .data_checking.thanks > span > small {
+ float: right;
+ display: inline-block;
+ width: 24px;
+ height: 24px;
+ cursor: pointer;
+}
+body.under_overlay > div.data_wrap > div > .data_container > .data_checking.thanks > span:first-child {
+ font: 24px/24px 'Open Sans', sans-serif;
+ padding: 0 0 20px;
+}
.wrap_all {
width: 1024px;
min-height: 100%;
View
32 theme/css/template.less
@@ -70,7 +70,6 @@ body {
& > div {
height: 100%;
left: 0;
-
position: absolute;
text-align: center;
top: 0;
@@ -257,7 +256,7 @@ body {
}
}
&.info {
- & > ul {
+ & > ul.info {
width: 100%;
padding: 20px 0;
& > li {
@@ -328,8 +327,37 @@ body {
height: 360px;
margin: -180px 0 0 -310px;
}
+ &.thanks {
+ background: #fff !important;
+ width: 600px !important;
+ padding: 20px !important;
+ & > span {
+ display: inline-block;
+ width: 600px;
+ //padding: 20px;
+ font: 14px/24px @main_font;
+ border-bottom: 0 !important;
+ background: #fff;
+ //color: #dc3b3b;
+ & > small {
+ float: right;
+ display: inline-block;
+ width: 24px;
+ height: 24px;
+ cursor: pointer;
+ }
+ &:first-child {
+ font: 24px/24px @main_font;
+ padding: 0 0 20px;
+ //color: #000;
+ }
+ }
+
+ }
}
+
}
+
}
View
40 theme/js/init.js
@@ -43,7 +43,7 @@
$('html').addClass('hidden');
$('body').addClass('under_overlay')
.append('<div class="overlay"></div><div class="data_wrap"><div><div class="data_container"><div class="data_checking"></div></div></div></div>');
- $('.data_checking').load('/second/'+result.id+'/ .last_step');
+ $('.data_checking').load('/second/'+result.id+'/ .confirm');
}
if($(this).hasClass('calc')){
@@ -494,7 +494,7 @@ $(document).ready(function(){
.addClass('current')
.siblings('div')
.removeClass('current');
-
+
if(form_container.children('form').length == 0){
form_container.load('/form_'+this_id+'/', function(){
//calc();
@@ -504,7 +504,7 @@ $(document).ready(function(){
$(this).children('ul').calc();
});
}
-
+
});
$('a.show_price').click(function(){
$(this).siblings('div.hide').slideToggle();
@@ -559,6 +559,9 @@ $(document).ready(function(){
$('div.data_checking, div.overlay').remove();
$('body, html').removeClass();
});
+ $(document).on('click', '.close_order.reset', function(){
+ document.location.href = "/";
+ });
$(document).on('click', '.data_checking a.next_step', function(){
$('.data_checking').find('.order').addClass('hide');
@@ -571,6 +574,22 @@ $(document).ready(function(){
//$('.data_checking > form').load('/include/helpers.html .files');
return false;
});
+
+ $(document).on('submit', '.last_step', function(){
+ var action = $(this).attr('action'),
+ that = $(this);
+ $.ajax({
+ url: action,
+ type: 'POST',
+ data: that.serialize(),
+ complete: function(result){
+ $('.data_checking').addClass('thanks').html('<span>Спасибо за ваш заказ.<small class="close_order reset"><i class="fa fa-times"></i></small></span><span>Письмо с информацией отправлено на указанный вами адрес электронной почты.</span><span>В ближайшее время наш сотрудник свяжется с вами для уточнения деталей.</span>');
+ //document.location.href = "/";
+ }
+ });
+ return false;
+ });
+
//Выравнивание высоты заголовка новостей
@@ -592,7 +611,9 @@ $(document).ready(function(){
$('.location > a').click(function(){
self.removeClass('hide');
return false;
+
});
+ console.log(self);
self.find('.close_form').click(function(){
self.addClass('hide');
});
@@ -604,17 +625,16 @@ $(document).ready(function(){
type: 'POST',
data: self.serialize(),
complete: function(result){
- self.trigger( 'reset' );
+ //self.trigger( 'reset' );
self.addClass('hide');
+ $('html').addClass('hidden');
+ $('body').addClass('under_overlay')
+ .append('<div class="overlay"></div><div class="data_wrap"><div><div class="data_container"><div class="data_checking"></div></div></div></div>');
+ $('.data_checking').addClass('thanks').html('<span>Ваша заявка принята.<small class="close_order"><i class="fa fa-times"></i></small></span><span>В ближайшее время наш сотрудник свяжется с вами по указанному в заявке номеру телефона.</span>');
}
});
+ return false;
});
- function confirm_answer() {
- $('html').addClass('hidden');
- $('body').addClass('under_overlay')
- .append('<div class="overlay"></div><div class="data_wrap"><div><div class="data_container"><div class="data_checking"></div></div></div></div>');
- $('.data_checking').html('<h2>Спасибо, Ваш запрос принят, в ближайшее время </h2>');
- }
}
call_();

0 comments on commit a5c8e40

Please sign in to comment.