Merge branch 'master' of ssh://192.168.100.6/repo/record

Conflicts:
	.gitignore
	asuzr/tables.py
	record/settings.py
This commit is contained in:
Anastasia
2015-06-10 22:28:38 +05:00
11 changed files with 76 additions and 17 deletions

1
.gitignore vendored
View File

@@ -3,3 +3,4 @@
db*
.directory
sketches/*
media/*

View File

@@ -88,6 +88,10 @@ class Order(models.Model):
def approved_date(self):
return self.approved.strftime("%d/%m/%Y %H:%M")
@property
def sketch(self):
return len(Sketch.objects.filter(order = self))
@property
def ostatok(self):
return self.price-self.paid
@@ -101,7 +105,7 @@ class Order(models.Model):
#Эскизы
class Sketch(models.Model):
sketch_file = models.FileField(upload_to = 'sketches') #путь к файу
sketch_file = models.FileField(upload_to = 'sketches/') #путь к файу
order = models.ForeignKey(Order) #id заказа
def __unicode__(self):

View File

@@ -11,9 +11,16 @@ def editable(field_name):
class EditableColumn(tables.TemplateColumn):
def __init__(self, field_name, *args, **kwargs):
super(tables.TemplateColumn, self).__init__(*args, **kwargs)
print kwargs
template = '{{% load inplace_edit %}}\n\n{{% inplace_edit "record.{field}" auto_height = 1 %}}'.format(field = field_name)
self.template_code = template
class ThumbnailColumn(tables.TemplateColumn):
def __init__(self, field_name, *args, **kwargs):
super(tables.TemplateColumn, self).__init__(*args, **kwargs)
template = '{{% load thumbnail %}}\n\n{{% thumbnail record.{field} "100x100" as im %}}<img src="{{{{ im.url }}}}">{{% endthumbnail %}}'.format(field = field_name)
self.template_code = template
class TestTable(tables.Table):
name = EditableColumn('name', "Наименование")
prod_period = EditableColumn('prod_period', "Время производства")
@@ -33,7 +40,7 @@ class OrdersTable(tables.Table):
paid = EditableColumn('paid', verbose_name = 'Оплачено')
ostatok = tables.Column(verbose_name = 'Остаток')
approved = EditableColumn('approved', verbose_name = 'Согласовано')
sketch = tables.LinkColumn('sketches', verbose_name = 'Эскиз')
sketch = tables.LinkColumn('asuzr.views.sketches', verbose_name = 'Эскизы', args=[tables.utils.A('pk')])
executor = EditableColumn('executor', verbose_name = 'Исполнитель')
is_done = EditableColumn('is_done', verbose_name = 'Сдан')
id = tables.Column(visible = False)
@@ -82,6 +89,10 @@ class DesignerTable(tables.Table):
def render_sum_price(self, value):
return '%0.1f' % value
class SketchesTable(tables.Table):
sketch_file = tables.FileColumn(verbose_name = 'Имя файла')
sketch_image = ThumbnailColumn('sketch_file', verbose_name = 'Эскиз', orderable = False)
class Meta:
attrs = {'class': 'paleblue'}

View File

View File

@@ -0,0 +1,9 @@
from django import template
from django.contrib.auth.models import Group
register = template.Library()
@register.filter(name='has_group')
def has_group(user, group_name):
group = Group.objects.get(name=group_name)
return True if group in user.groups.all() else False

View File

@@ -105,6 +105,13 @@ def main(request, day, month, year):
})
return HttpResponse(t.render(c))
@login_required
def sketches(request, order_id):
curr_order = Order.objects.get(pk = order_id)
table = SketchesTable(Sketch.objects.filter(order = curr_order))
RequestConfig(request).configure(table)
return render(request, 'asuzr/table.html', {'table': table, 'title': 'Эскизы заказа %s' % curr_order})
@login_required
def orders(request, archive):
is_archive = (archive == '1')
@@ -137,4 +144,4 @@ def production_table(request, order_id):
'sel_order' : sel_order,
'cost_items' : cost_items,
})
return HttpResponse(t.render(c))
return HttpResponse(t.render(c))

View File

@@ -39,7 +39,8 @@ INSTALLED_APPS = (
'django.contrib.staticfiles',
'inplaceeditform',
'django_tables2',
'asuzr'
'sorl.thumbnail',
'asuzr',
)
MIDDLEWARE_CLASSES = (
@@ -85,6 +86,10 @@ USE_TZ = True
STATIC_URL = '/static/'
TEMPLATE_DIRS = ('/home/anastasia/projects/django/record/templates/')
TEMPLATE_DIRS = ('templates/')
TEMPLATE_CONTEXT_PROCESSORS += ('django.core.context_processors.request',)
MEDIA_ROOT = 'media/'
MEDIA_URL = 'http://127.0.0.1:8000/media/'

View File

@@ -1,5 +1,8 @@
from django.conf.urls import patterns, include, url
from django.contrib.auth.views import login, logout
from django.conf.urls.static import static
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.conf import settings
from django.contrib import admin
admin.autodiscover()
@@ -9,18 +12,22 @@ js_info_dict = {
}
urlpatterns = patterns('',
# Examples:
# url(r'^$', 'record.views.home', name='home'),
# url(r'^blog/', include('blog.urls')),
url(r'^product/$', 'asuzr.views.prod_list'),
url(r'^product/(?P<prod_id>\d+)/$', 'asuzr.views.prod_detail'),
url(r'^main/(?P<day>\d+)/(?P<month>\d+)/(?P<year>\d+)/$', 'asuzr.views.main', name='asuzr-main'),
url(r'^orders/(?P<archive>\d+)/$', 'asuzr.views.orders',name='asuzr-orders'),
url(r'^desreport/$', 'asuzr.views.desreport'),
url(r'^production_table/(?P<order_id>\d+)/$', 'asuzr.views.production_table'),
url(r'^sketches/(?P<order_id>\d+)/$', 'asuzr.views.sketches'),
url(r'^admin/', include(admin.site.urls)),
url(r'^inplaceeditform/', include('inplaceeditform.urls')),
url(r'^accounts/login/$', login),
url(r'^accounts/logout/$', logout),
url(r'^jsi18n$', 'django.views.i18n.javascript_catalog', js_info_dict),
)
if settings.DEBUG:
# static files (images, css, javascript, etc.)
urlpatterns += patterns('',
(r'^media/(?P<path>.*)$', 'django.views.static.serve', {
'document_root': settings.MEDIA_ROOT}))

Binary file not shown.

Binary file not shown.

View File

@@ -1,4 +1,6 @@
{% load inplace_edit %}
{% load filters %}
<html>
<head>
<title>Автоматическая система учета заказов студии мебели Рекорд</title>
@@ -16,16 +18,29 @@
border: 1px solid #000; /* Рамка вокруг текста */
padding: 3px; /* Поля вокруг текста */
}
</style>
#user {
float: right;
text-align: right;
}
#menu, #user {
display: inline;
}
</style>
</head>
<body>
{% block menu %}
<ul id="menu" class="hr">
<li><a href={% url 'asuzr-main' 1 5 2015 %}>Таблица посещаемости</a></li>
<li><a href={% url 'asuzr.views.orders' 0 %}>Таблица выхода заказов</a></li>
<li><a href={% url 'asuzr.views.orders' 1 %}>Архивная таблица</a></li>
<li><a href={% url 'asuzr.views.desreport' %}>Отчет по дизайнерам</a></li>
</ul>
{% block menu %}
<ul id="menu" class="hr">
<li><a href={% url 'asuzr-main' 1 5 2015 %}>Таблица посещаемости</a></li>
<li><a href={% url 'asuzr.views.orders' 0 %}>Таблица выхода заказов</a></li>
<li><a href={% url 'asuzr.views.orders' 1 %}>Архивная таблица</a></li>
<li><a href={% url 'asuzr.views.desreport' %}>Отчет по дизайнерам</a></li>
{% if request.user.is_staff %}<li><a href={% url 'admin:index' %}>Администрирование</a></li>{% endif %}
</ul>
<div id="user">
{% if request.user.is_authenticated %} Добро пожаловать, {{ request.user.first_name }}
{% else %}<a href="{% url 'django.contrib.auth.views.login' %}">Вход</a>{% endif %}
<br><a href="{% url 'django.contrib.auth.views.logout' %}">Выход</a>
</div>
{% endblock %}
<H1>{% block title %}{{ title }}{% endblock %}</H1>