#ARC-18 add modal

remotes/origin/PR-39
Mukhtar 10 years ago
parent 3e4596c7ad
commit 257e7e8abe
  1. 14
      assets/js/chat.js
  2. 12
      chat/templates/chat_contractor.html
  3. 17
      chat/templates/chat_customer.html
  4. 22
      chat/templates/contact-info.html
  5. 34
      chat/templates/order_info.html
  6. 2
      projects/serializers.py
  7. 8
      users/models.py
  8. 13
      wallets/admin.py
  9. 6
      wallets/models.py

@ -129,6 +129,20 @@ $(function () {
} }
$(".full-order-info").click('on',function(e){
e.preventDefault();
e.stopPropagation();
$("#order-info").modal('show');
});
$(".conMess").click('on',function(e){
e.preventDefault();
e.stopPropagation();
$("#contact-info").modal('show');
});
// Вытащить сообщения для конактов // Вытащить сообщения для конактов
$('.user-block').on('click', function () { $('.user-block').on('click', function () {

@ -108,6 +108,10 @@
<a href="#" id="add-note-contractor">сохранить</a> <a href="#" id="add-note-contractor">сохранить</a>
</form> </form>
</div> </div>
<!-- order-info -->
{% include 'contact-info.html' %}
<!-- -->
</div> </div>
</div> </div>
<!-- End block Tab1 --> <!-- End block Tab1 -->
@ -125,7 +129,7 @@
<div class="hideOBB"> <div class="hideOBB">
<p class="pOB"><span>Исполнитель:</span> {{ request.user.get_full_name }}</p> <p class="pOB"><span>Исполнитель:</span> {{ request.user.get_full_name }}</p>
<a href="javascript:void(0)" class="linkChat11"> <a href="#" class="linkChat11 full-order-info">
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> <span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
Полное описание заказа Полное описание заказа
</a> </a>
@ -201,6 +205,10 @@
{% include 'arbitration_modal.html' %} {% include 'arbitration_modal.html' %}
<!-- --> <!-- -->
<!-- order-info -->
{% include 'order_info.html' %}
<!-- -->
<div class="textAreaBlock2 box-sizing disTab"> <div class="textAreaBlock2 box-sizing disTab">
<ul class="notes-block"> <ul class="notes-block">
@ -253,7 +261,7 @@
{% endif %} {% endif %}
{% endfor %} {% endfor %}
</p> </p>
<a href="#" class="linkChat11"> <a href="#" class="linkChat11 full-order-info">
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> <span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
Полное описание заказа Полное описание заказа
</a> </a>

@ -49,8 +49,7 @@
<div><a href="{{ contact_url }}">{{ contact.username }}</a></div> <div><a href="{{ contact_url }}">{{ contact.username }}</a></div>
</p> </p>
<a href="#" data-target="#userModal" data-toggle="modal" <a href="#" class="conMess">Контакты</a>
class="conMess">Контакты</a>
<span class="contact-count-{{ contact.pk|add:request.user.pk }}">0</span> <span class="contact-count-{{ contact.pk|add:request.user.pk }}">0</span>
<a href="#" class="deleteMess" data-recipent-id="{{ contact.pk }}"> <a href="#" class="deleteMess" data-recipent-id="{{ contact.pk }}">
@ -103,6 +102,10 @@
</form> </form>
</div> </div>
</div> </div>
<!-- order-info -->
{% include 'contact-info.html' %}
<!-- -->
</div> </div>
<!-- End block Tab1(contacts block)--> <!-- End block Tab1(contacts block)-->
@ -130,7 +133,7 @@
{{ order.order.team.name }} {{ order.order.team.name }}
{% endif %} {% endif %}
</p> </p>
<a href="#" class="linkChat11"> <a href="#" class="linkChat11 full-order-info">
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> <span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
Полное описание заказа Полное описание заказа
</a> </a>
@ -223,6 +226,11 @@
{% include 'arbitration_modal.html' %} {% include 'arbitration_modal.html' %}
<!-- --> <!-- -->
<!-- order-info -->
{% include 'order_info.html' %}
<!-- -->
</div> </div>
</div> </div>
<!-- End block (chat order block) --> <!-- End block (chat order block) -->
@ -249,6 +257,7 @@
$('body').on('focus',".term-picker", function(){ $('body').on('focus',".term-picker", function(){
$(this).datepicker({ $(this).datepicker({
{# minDate: 0,#} {# minDate: 0,#}
}); });
}) })
@ -696,8 +705,6 @@
getStages(orderId,userId,recipentId, secureOrder); getStages(orderId,userId,recipentId, secureOrder);
}); });
}); });
var userId = '{{ request.user.pk }}'; var userId = '{{ request.user.pk }}';

@ -0,0 +1,22 @@
<div id="contact-info" class="modal fade" role="dialog">
<div class="modal-dialog" role="document" style="width:900px;">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×
</button>
<h4 class="modal-title">Контакты</h4>
</div>
<form id="arbitration-add-form" method="POST">
<div class="modal-body">
<table class="table">
<tr>
<td>Ф.И.О.</td>
<td></td>
</tr>
</table>
</div>
<div class="modal-footer"></div>
</div>
</div>
</div>

@ -0,0 +1,34 @@
<div id="order-info" class="modal fade" role="dialog">
<div class="modal-dialog" role="document" style="width:900px;">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×
</button>
<h4 class="modal-title">Полное описапие заказа</h4>
</div>
<form id="arbitration-add-form" method="POST">
<div class="modal-body">
<table class="table">
<tr>
<td>Название заказа</td>
<td>Название</td>
</tr>
<tr>
<td>Исполнитель</td>
<td>Название</td>
</tr>
<tr>
<td>Дата создания</td>
<td>Название</td>
</tr>
<tr>
<td>Безопасная сделка</td>
<td>Название</td>
</tr>
</table>
</div>
<div class="modal-footer"></div>
</div>
</div>
</div>

@ -48,7 +48,7 @@ class RealtySerializer(ModelSerializer):
class StageSerializer(ModelSerializer): class StageSerializer(ModelSerializer):
# term = serializers.DateTimeField(format="%Y-%m-%d") term = serializers.DateField(format="%d.%m.%Y", input_formats=['%d.%m.%Y',])
class Meta: class Meta:
model = Stage model = Stage

@ -2,6 +2,7 @@ from dateutil.relativedelta import relativedelta
from django.contrib.auth.models import AbstractBaseUser, BaseUserManager, AbstractUser, Group, PermissionsMixin from django.contrib.auth.models import AbstractBaseUser, BaseUserManager, AbstractUser, Group, PermissionsMixin
from django.contrib.contenttypes.fields import GenericRelation from django.contrib.contenttypes.fields import GenericRelation
from django.db import models from django.db import models
from django.db.models import Sum
from django.utils import timezone, formats from django.utils import timezone, formats
from mptt.models import TreeForeignKey, TreeManyToManyField from mptt.models import TreeForeignKey, TreeManyToManyField
from pprint import pprint from pprint import pprint
@ -12,6 +13,7 @@ from archilance import util
from specializations.models import Specialization from specializations.models import Specialization
GENDERS = ( GENDERS = (
('male', 'Мужской'), ('male', 'Мужской'),
('female', 'Женский'), ('female', 'Женский'),
@ -173,6 +175,12 @@ class User(AbstractBaseUser, PermissionsMixin):
def get_profile_image(self): def get_profile_image(self):
return self.avatar return self.avatar
def get_score(self):
from wallets.models import InvoiceHistory
current_sum_info = InvoiceHistory.objects.filter(user=self, type="score").aggregate(Sum('sum'))
current_sum = current_sum_info['sum__sum'] or 0
return current_sum
def summary(self): def summary(self):
age = relativedelta(timezone.now(), util.to_local_datetime(self.date_of_birth)).years age = relativedelta(timezone.now(), util.to_local_datetime(self.date_of_birth)).years

@ -9,15 +9,12 @@ class InvoiceHistoryAdmin(admin.ModelAdmin):
list_display = ('comment', 'sum', 'user','balance',) list_display = ('comment', 'sum', 'user','balance',)
# class WithDrawAdmin(admin.ModelAdmin):
# list_display = ('sum','created','user',)
# class WithDrawResource(resources.ModelResource):
class WithDrawResource(resources.ModelResource): #
# class Meta:
class Meta: # model = WithDraw
model = WithDraw # export_order = ('id', 'sum', 'yandex_card', 'user')
export_order = ('id', 'sum', 'yandex_card', 'user')
class WithDrawAdmin(ImportExportModelAdmin): class WithDrawAdmin(ImportExportModelAdmin):

@ -54,7 +54,7 @@ class InvoiceHistory(models.Model):
class WithDraw(models.Model): class WithDraw(models.Model):
sum = models.DecimalField(max_digits=10, decimal_places=0) sum = models.DecimalField(max_digits=10, decimal_places=0, validators=[MinValueValidator(1)])
created = models.DateTimeField(default=timezone.now) created = models.DateTimeField(default=timezone.now)
yandex_card = models.CharField(max_length=30) yandex_card = models.CharField(max_length=30)
user = models.ForeignKey(User, related_name='with_draw') user = models.ForeignKey(User, related_name='with_draw')
@ -66,8 +66,10 @@ class WithDraw(models.Model):
def clean(self): def clean(self):
if not self.pk: if not self.pk:
current_score_info = InvoiceHistory.objects.filter(user=self.user, type="score").aggregate(Sum('sum')) current_score_info = InvoiceHistory.objects.filter(user=self.user, type="score").aggregate(Sum('sum'))
# withdraw_sum_not_complete = WithDraw.objects.filter(user=self.user,complete=False).aggregate(Sum('sum')) withdraw_sum_not_complete = WithDraw.objects.filter(user=self.user, complete=False).aggregate(Sum('sum'))
current_score = current_score_info['sum__sum'] or 0 current_score = current_score_info['sum__sum'] or 0
sum_not_complete = withdraw_sum_not_complete['sum__sum'] or 0
current_score -= sum_not_complete
if not self.sum is None and self.sum > current_score: if not self.sum is None and self.sum > current_score:
raise ValidationError("Сумма должна быть меньше " + str(current_score)) raise ValidationError("Сумма должна быть меньше " + str(current_score))

Loading…
Cancel
Save