Compare commits

..

4 Commits

Author SHA1 Message Date
Air51 21bdc8fcff Merged Air51/dokumentor.ru into master 9 years ago
Andrey 02d89b863e changed company info on bill.xls 9 years ago
Air51 063c6f8a61 Merged Air51/dokumentor.ru into master 9 years ago
Andrey 354eb753d8 Revert "Merge branch 'mitri4' into test" 9 years ago
  1. 8
      .dockerignore
  2. 58
      .editorconfig
  3. 13
      .gitignore
  4. 28
      Dockerfile
  5. 71
      Makefile
  6. 8
      README
  7. 58
      README.md
  8. 12
      conf/docker/entrypoint.sh
  9. 22
      conf/docker/entrypoint_stage.sh
  10. 24
      conf/env
  11. 24
      conf/env.local
  12. 23
      conf/env.stage
  13. 19
      conf/env.template
  14. 44
      conf/gunicorn_logging.ini
  15. 67
      conf/gunicorn_prod.py
  16. 60
      conf/nginx.conf
  17. 20
      conf/nginx_vds.conf
  18. 46
      conf/supervisor.conf
  19. 2
      diff_static.sh
  20. 43
      docker-compose.yml
  21. 1
      log/.gitignore
  22. 10
      manage.py
  23. 4
      project/__init__.py
  24. 0
      project/callback/__init__.py
  25. 0
      project/callback/admin.py
  26. 0
      project/callback/context_processors.py
  27. 12
      project/callback/forms.py
  28. 14
      project/callback/models.py
  29. 8
      project/callback/urls.py
  30. 21
      project/callback/views.py
  31. 24
      project/celery.py
  32. 0
      project/commons/__init__.py
  33. 7
      project/commons/forms.py
  34. 0
      project/commons/models.py
  35. 4
      project/commons/paginator.py
  36. 30
      project/commons/pdf_tools.py
  37. 0
      project/commons/templatetags/__init__.py
  38. 16
      project/commons/templatetags/my_tags.py
  39. 0
      project/commons/tests.py
  40. 0
      project/commons/utils.py
  41. 0
      project/commons/views.py
  42. 3
      project/commons/xls/__init__.py
  43. 1
      project/commons/xls/get_xlwt_style_list.py
  44. 15
      project/commons/xls/useful_tools.py
  45. 12
      project/commons/xls/xls_to_response.py
  46. 2
      project/customer/__init__.py
  47. 4
      project/customer/admin.py
  48. 1
      project/customer/consts.py
  49. 2
      project/customer/context_processors.py
  50. 2
      project/customer/decorators.py
  51. 67
      project/customer/forms.py
  52. 0
      project/customer/managers.py
  53. 2
      project/customer/middleware.py
  54. 289
      project/customer/migrations/0001_initial.py
  55. 147
      project/customer/migrations/0002_auto__add_field_userprofilefilters_show_logo.py
  56. 148
      project/customer/migrations/0003_auto__add_field_userprofilefilters_show_address.py
  57. 156
      project/customer/migrations/0004_auto__del_field_client_contact_icq__add_field_client_ogrn.py
  58. 149
      project/customer/migrations/0005_auto__add_field_bankaccount_short_name.py
  59. 0
      project/customer/migrations/__init__.py
  60. 179
      project/customer/models.py
  61. 2
      project/customer/tasks.py
  62. 0
      project/customer/tests.py
  63. 63
      project/customer/urls.py
  64. 1
      project/customer/utils.py
  65. 0
      project/customer/views/__init__.py
  66. 4
      project/customer/views/bank_accounts.py
  67. 21
      project/customer/views/bank_accounts_ajax.py
  68. 26
      project/customer/views/clients.py
  69. 61
      project/customer/views/clients_ajax.py
  70. 8
      project/customer/views/docs.py
  71. 10
      project/customer/views/license.py
  72. 71
      project/customer/views/profile.py
  73. 20
      project/customer/views/profile_ajax.py
  74. 0
      project/docs/__init__.py
  75. 2
      project/docs/admin.py
  76. 0
      project/docs/as_xls/__init__.py
  77. 42
      project/docs/as_xls/render_to_xls.py
  78. 54
      project/docs/autocomplete_light_registry.py
  79. 0
      project/docs/consts.py
  80. 12
      project/docs/filters.py
  81. 9
      project/docs/forms/__init__.py
  82. 13
      project/docs/forms/aktrabot.py
  83. 6
      project/docs/forms/aktsverki.py
  84. 10
      project/docs/forms/base_forms.py
  85. 6
      project/docs/forms/dover.py
  86. 0
      project/docs/forms/email.py
  87. 32
      project/docs/forms/faktura.py
  88. 25
      project/docs/forms/invoice.py
  89. 6
      project/docs/forms/nakladn.py
  90. 5
      project/docs/forms/platejka.py
  91. 673
      project/docs/migrations/0001_initial.py
  92. 424
      project/docs/migrations/0002_auto__add_field_measure_full_name__chg_field_measure_code__chg_field_m.py
  93. 373
      project/docs/migrations/0003_auto__add_field_currency_order.py
  94. 374
      project/docs/migrations/0004_auto__add_field_measure_order.py
  95. 375
      project/docs/migrations/0005_auto__add_field_country_order.py
  96. 377
      project/docs/migrations/0006_auto__add_field_nakladnitem_units_kod.py
  97. 387
      project/docs/migrations/0007_nakladnitem_fix_units.py
  98. 382
      project/docs/migrations/0008_nakladnitem_set_units_kod.py
  99. 0
      project/docs/migrations/__init__.py
  100. 8
      project/docs/models/__init__.py
  101. Some files were not shown because too many files have changed in this diff Show More

@ -1,8 +0,0 @@
env
compose
public
node_modules
bower_components
tmp_emails
tmp
var

@ -1,58 +0,0 @@
# EditorConfig is awesome: http://EditorConfig.org
# Howto with your editor: http://editorconfig.org/#download
# Sublime: https://github.com/sindresorhus/editorconfig-sublime
# top-most EditorConfig file
root = true
# Unix-style newlines with a newline ending every file
[**]
end_of_line = lf
insert_final_newline = true
# Standard at: https://github.com/felixge/node-style-guide
[**.{js,json}]
trim_trailing_whitespace = true
indent_style = space
indent_size = 2
quote_type = single
curly_bracket_next_line = false
spaces_around_operators = true
space_after_control_statements = true
space_after_anonymous_functions = true
spaces_in_brackets = false
# No Standard. Please document a standard if different from .js
[**.{yml,css}]
trim_trailing_whitespace = true
indent_style = tab
[**.html]
trim_trailing_whitespace = true
indent_style = space
indent_size = 2
# No standard. Please document a standard if different from .js
[**.md]
indent_style = tab
[**.py]
indent_style = space
indent_size = 4
trim_trailing_whitespace = true
# Standard at:
[Makefile]
indent_style = tab
[**.yml]
trim_trailing_whitespace = true
indent_style = space
indent_size = 4
# The indentation in package.json will always need to be 2 spaces
# https://github.com/npm/npm/issues/4718
[{package, bower}.json]
indent_style = space
indent_size = 2

13
.gitignore vendored

@ -5,6 +5,7 @@
pip-log.txt pip-log.txt
ENV/ ENV/
.idea/ .idea/
local_settings.py
Thumbs.db Thumbs.db
distribute-*.tar.gz distribute-*.tar.gz
*.bak *.bak
@ -12,15 +13,3 @@ distribute-*.tar.gz
_public_html/ _public_html/
celerybeat-schedule celerybeat-schedule
yandex_money.log yandex_money.log
/tmp_emails/
/media/
/static/
/src/dokumentor/media/
/tmp/
/data/
/public/
conf/env
!local.py
!parts
!.gitkeep
!form.html

@ -1,28 +0,0 @@
FROM python:3.6
ENV PYTHONUNBUFFERED 1
COPY requirements /opt/app/requirements
RUN apt-get update -y && \
apt-get upgrade -y && \
apt-get -y install ghostscript libfreetype6-dev python3-dev nginx supervisor make && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* && \
pip install --upgrade pip && \
pip install --no-cache-dir -r /opt/app/requirements/production.txt && \
# Nginx
chown -R www-data:www-data /var/lib/nginx && \
# Delete build dependencies after use
rm -r /root/.cache
COPY . /opt/app
VOLUME ["/opt/app/public/media"]
WORKDIR /opt/app
RUN rm -v /etc/nginx/nginx.conf
ADD /conf/nginx.conf /etc/nginx/
EXPOSE 80
CMD ["conf/docker/entrypoint_stage.sh"]

@ -1,71 +0,0 @@
.PHONY: all help build virtualenv requirements-local loaddata run migrate shell collectstatic clean worker
# target: all - Default target. Does nothing.
all:
@clear
@echo "Hello $(LOGNAME), nothing to do by default"
@echo "Try 'make help'"
# target: help - Display callable targets.
help:
@clear
@egrep "^# target:" [Mm]akefile
# target: build - Build all docker containers, defined in docker-compose.yml
build:
docker-compose build
# target: virtualenv - Make virtualenv
virtualenv:
virtualenv -p python3 env --no-site-packages
# target: requirements-local - Install requirements for local develop
requirements-local:
$(PIP) install -r requirements/local.txt
# target: loaddata - Load fixtures
loaddata:
python src/manage.py loaddata src/myauth/fixtures/myauth.json
python src/manage.py loaddata src/commons/fixtures/cms.json
python src/manage.py loaddata src/commons/fixtures/djangocms_text_ckeditor.json
python src/manage.py loaddata src/commons/fixtures/sites.json
python src/manage.py loaddata src/customer/fixtures/price.json
python src/manage.py loaddata src/docs/fixtures/country.json
python src/manage.py loaddata src/docs/fixtures/currency.json
python src/manage.py loaddata src/docs/fixtures/measure.json
# target: run - Runserver
run:
python src/manage.py runserver 0.0.0.0:8000
# target: migrate - Build all docker containers, defined in docker-compose.stage.yml
migrate:
python src/manage.py migrate myauth --noinput
python src/manage.py migrate --noinput
# target: shell - Run python shell
shell:
python src/manage.py shell
# target: collectstatic - Run collectstatic
collectstatic:
python src/manage.py collectstatic --noinput
clean_temp:
find . -name '*.pyc' -delete
rm -rf .coverage dist docs/_build htmlcov MANIFEST
rm -rf media/
clean_db:
find . -name '*.sqlite3' -delete
clean_venv:
rm -rf $(VENV_DIR)
# target: clean - Clean all temp files
clean: clean_temp clean_venv clean_db
# target: worker - Run celery worker
worker:
cd src && celery -A dokumentor worker -l info -E

@ -0,0 +1,8 @@
Документор
===
Если не работает локаль ru в autocomplete_light, то значит надо её скомпилировать:
msgfmt django.po --output-file django.mo

@ -1,58 +0,0 @@
# Dokumentor
Сервис для создания и хранения первичных бухгалтерских документов.
## Установка dev версии
Клонируем проект
```bash
git clone https://bitbucket.org/Air51/dokumentor_dev dokumentor
```
Переходим в папку проекта
```bash
cd dokumentor
```
Пеерключаемся в ветку develop
```bash
git checkout develop
```
### Установка проекта для разработки вручную
Создаем окружение и ставим зависимости
```bash
virtualenv --python=python3 env
source env/bin/activate
pip install -r requirements.txt
```
### Настройка окружения
Копируем файл с переменными окружения
```bash
cp conf/env.template conf/env
```
и прописывем в `conf/env` свои данные
Накатываем миграции и заполняем базу данных
```bash
bin/migrate.sh
```
Загружаем фикстуры
```bash
bin/loaddata.sh
```
### Установка проекта для разработки командой `make`
Для разработки проект можно развернуть выполив
```bash
make
make run
```
###Запуск сервера Celery
```bash
cd src
celery -A dokumentor worker -l info -E
```

@ -1,12 +0,0 @@
#!/usr/bin/env bash
# Make database migrations
echo "Make database migrations"
python src/manage.py migrate makemigrations
# Apply database migrations
echo "Apply database migrations"
python src/manage.py migrate myauth
python src/manage.py migrate
exec "$@"

@ -1,22 +0,0 @@
#!/usr/bin/env bash
set -e
set -u
export ENV=stage
# Collect static files
echo "Collect static files"
python src/manage.py collectstatic --noinput
# Make database migrations
echo "Make database migrations"
python src/manage.py makemigrations
# Apply database migrations
echo "Apply database migrations"
python src/manage.py migrate myauth --noinput
python src/manage.py migrate --noinput
supervisord -c /opt/app/conf/supervisor.conf

@ -1,24 +0,0 @@
DJANGO_SETTINGS_MODULE='dokumentor.settings.local'
DJANGO_SECRET='CHANGE_ME_IN_PRODUCTION'
SSL=False
DJANGO_DB='postgres://dokumentor:dokumentor@localhost:5432/dokumentor'
DJANGO_DB_sqlite3='sqlite:////Users/mitri4/Projects/dokumentor/db.sqlite3'
DJANGO_FROM_EMAIL='root@localhost'
DJANGO_EMAIL_HOST=''
DJANGO_EMAIL_PORT=''
DJANGO_EMAIL_USER=''
DJANGO_EMAIL_PASSWORD=''
DJANGO_EMAIL_USE_TLS=False
DJANGO_EMAIL_USE_SSL=False
REDIS_URL='redis://localhost:6379/1'
CELERY_BROKER_URL ='amqp://guest:guest@localhost:5672//'
CELERY_RESULT_BACKEND ='amqp://guest:guest@localhost:5672//'
CALLBACK_EMAIL_SENDER='root@localhost'
CALLBACK_MANAGERS_EMAILS=('mitri4@bk.ru', 'dmitriy.shesterkin@gmail.com')

@ -1,24 +0,0 @@
DJANGO_SETTINGS_MODULE='dokumentor.settings.local'
DJANGO_SECRET='CHANGE_ME_IN_PRODUCTION'
SSL=False
DJANGO_DB='postgres://dokumentor:dokumentor@localhost:5432/dokumentor'
DJANGO_DB_sqlite3='sqlite:////Users/mitri4/Projects/dokumentor/db.sqlite3'
DJANGO_FROM_EMAIL='root@localhost'
DJANGO_EMAIL_HOST=''
DJANGO_EMAIL_PORT=''
DJANGO_EMAIL_USER=''
DJANGO_EMAIL_PASSWORD=''
DJANGO_EMAIL_USE_TLS=False
DJANGO_EMAIL_USE_SSL=False
REDIS_URL='redis://localhost:6379/1'
CELERY_BROKER_URL ='amqp://guest:guest@localhost:5672//'
CELERY_RESULT_BACKEND ='amqp://guest:guest@localhost:5672//'
CALLBACK_EMAIL_SENDER='root@localhost'
CALLBACK_MANAGERS_EMAILS=('mitri4@bk.ru', 'dmitriy.shesterkin@gmail.com')

@ -1,23 +0,0 @@
DJANGO_SETTINGS_MODULE=dokumentor.settings.stage
SSL=False
DJANGO_SECRET='CHANGE_ME_IN_PRODUCTION'
DJANGO_DB='postgres://dokumentor:dokumentor@db:5432/dokumentor'
DJANGO_FROM_EMAIL='Открытые технологии <no-reply@o-tech.io>'
DJANGO_EMAIL_HOST='smtp.yandex.ru'
DJANGO_EMAIL_PORT=465
DJANGO_EMAIL_USER='no-reply@o-tech.io'
DJANGO_EMAIL_PASSWORD='BA4BnshqVz3Hae'
DJANGO_EMAIL_USE_TLS=False
DJANGO_EMAIL_USE_SSL=True
REDIS_URL='redis://redis:6379/1'
CELERY_BROKER_URL = 'amqp://dokumentor:dokumentor@rabbitmq:5672//'
CELERY_RESULT_BACKEND = 'amqp://dokumentor:dokumentor@rabbitmq:5672//'
CALLBACK_EMAIL_SENDER='Документор <no-reply@o-tech.io>'
CALLBACK_MANAGERS_EMAILS=('mitri4@bk.ru', 'alexander.time@gmail.com','dmitriy.shesterkin@gmail.com')

@ -1,19 +0,0 @@
DJANGO_SETTINGS_MODULE=dokumentor.settings.{{env}}
DJANGO_SECRET='CHANGE_ME_IN_PRODUCTION'
DJANGO_DB='postgres://USER:PASSWORD@HOST:PORT/NAME'
DJANGO_FROM_EMAIL='root@localhost'
DJANGO_EMAIL_HOST=''
DJANGO_EMAIL_PORT=''
DJANGO_EMAIL_USER=''
DJANGO_EMAIL_PASSWORD=''
DJANGO_EMAIL_USE_TLS=False
DJANGO_EMAIL_USE_SSL=False
CELERY_BROKER_URL='amqp://guest:guest@localhost:5672//'
CELERY_RESULT_BACKEND='amqp://guest:guest@localhost:5672//'
CALLBACK_EMAIL_SENDER=''
CALLBACK_MANAGERS_EMAILS=()

@ -1,44 +0,0 @@
[loggers]
keys=root,gunicorn.access,gunicorn.error
[logger_root]
level=INFO
handlers=root
[logger_gunicorn.access]
level=INFO
handlers=gunicorn.access
qualname=gunicorn.access
propagate=0
[logger_gunicorn.error]
level=INFO
handlers=gunicorn.error
qualname=gunicorn.error
propagate=0
[handlers]
keys=root,gunicorn.access,gunicorn.error
[handler_root]
class=logging.StreamHandler
formatter=default
args=(sys.stdout,)
[handler_gunicorn.access]
class=logging.StreamHandler
formatter=default
args=(sys.stdout,)
[handler_gunicorn.error]
class=logging.StreamHandler
formatter=default
args=(sys.stdout,)
[formatters]
keys=default
[formatter_default]
class=logging.Formatter
format=* %(asctime)s [%(levelname)s] {%(filename)s} - %(message)s
datefmt=%x %X

@ -1,67 +0,0 @@
# Settings http://docs.gunicorn.org/en/stable/settings.html
import os
bind = 'unix:/tmp/gunicorn.sock'
backlog = 2048 # The number of pending connections
preload = True # Load application code before the worker processes are forked
workers = 2
worker_class = 'sync'
worker_connections = 1000
threads = 1
timeout = 120
keepalive = 2
reload = False
spew = False
check_config = False
daemon = False
pidfile = None
umask = 0
user = None
group = None
tmp_upload_dir = None
proc_name = None
# Logging
# -------
logconfig = '/opt/app/conf/gunicorn_logging.ini'
def post_fork(server, worker):
server.log.info("Worker spawned (pid: %s)", worker.pid)
def pre_fork(server, worker):
pass
def pre_exec(server):
server.log.info("Forked child, re-executing.")
def when_ready(server):
server.log.info("Server is ready. Spawning workers")
def worker_int(worker):
worker.log.info("Worker received INT or QUIT signal")
## get traceback info
import threading, sys, traceback
id2name = dict([(th.ident, th.name) for th in threading.enumerate()])
code = []
for threadId, stack in sys._current_frames().items():
code.append("\n# Thread: %s(%d)" % (id2name.get(threadId,""),
threadId))
for filename, lineno, name, line in traceback.extract_stack(stack):
code.append('File: "%s", line %d, in %s' % (filename,
lineno, name))
if line:
code.append(" %s" % (line.strip()))
worker.log.debug("\n".join(code))
def worker_abort(worker):
worker.log.info("Worker received SIGABRT signal")

@ -1,60 +0,0 @@
worker_processes 1;
user www-data;
pid /var/run/nginx.pid;
error_log /var/log/nginx/error.log;
events {
worker_connections 1024;
accept_mutex off;
use epoll;
}
http {
sendfile on;
include /etc/nginx/mime.types;
default_type application/octet-stream;
keepalive_timeout 65;
upstream django {
server unix:/tmp/gunicorn.sock fail_timeout=0;
}
server {
listen 80;
server_name _;
charset utf-8;
keepalive_timeout 5;
client_max_body_size 64M;
access_log /var/log/nginx/access.log;
location /media {
alias /opt/app/public/media;
expires 30d;
}
location /static {
alias /opt/app/public/static;
expires 30d;
}
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# we don't want nginx trying to do something clever with
# redirects, we set the Host: header above already.
proxy_redirect off;
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;
proxy_http_version 1.1;
proxy_pass http://django;
proxy_pass_header Server;
}
}
}

@ -1,20 +0,0 @@
upstream onpoint-dev {
server localhost:32768;
}
server {
client_max_body_size 175M;
listen 0.0.0.0:80;
server_name www.dev.dokumentor.mitri4.pro dev.dokumentor.mitri4.pro;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://onpoint-dev/;
proxy_redirect off;
}
}

@ -1,46 +0,0 @@
[supervisord]
logfile=/var/log/supervisord.log
loglevel=debug
directory=/opt/app
pidfile=/tmp/supervisord.pid
nodaemon=true
minfds=65535
minprocs=200
environment=PATH="/opt/app"
user=root
[program:nginx]
command=/usr/sbin/nginx "-g" "daemon off;"
priority=1
autorestart=true
stdout_events_enabled=true
stderr_events_enabled=true
[program:gunicorn]
command=gunicorn dokumentor.wsgi:application -c /opt/app/conf/gunicorn_prod.py
directory=/opt/app/src
priority=2
stdout_logfile=/var/log/gunicorn.log
redirect_stderr=true
stdout_events_enabled=true
stderr_events_enabled=true
autorestart=true
[program:celeryd]
command=celery -A dokumentor worker -l info -E
directory=/opt/app/src
stdout_logfile=/var/log/celery-worker.log
stderr_logfile=/var/log/celery-worker.log
autostart=true
autorestart=true
startsecs=10
stopwaitsecs=600
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
redirect_stderr=true
; RQ requires the TERM signal to perform a warm shutdown. If RQ does not die
; within 10 seconds, supervisor will forcefully kill it
stopsignal=TERM

@ -5,7 +5,7 @@
ALL=$1 ALL=$1
PROD_STATIC="_public_html/static" PROD_STATIC="_public_html/static"
DEV_STATIC="src/static" DEV_STATIC="project/static"
if [ "$ALL" = "--all" ]; then if [ "$ALL" = "--all" ]; then
EXCLUDE="" EXCLUDE=""

@ -1,43 +0,0 @@
version: '2'
services:
web:
build: .
volumes:
- ./:/opt/app
ports:
- "32768:80"
- "8000:8000"
env_file: conf/env.stage
environment:
- REDIS_URL=redis://redis:6379/1
- CELERY_BROKER_URL=amqp://dokumentor:dokumentor@rabbitmq:5672//
- CELERY_RESULT_BACKEND=amqp://dokumentor:dokumentor@rabbitmq:5672//
depends_on:
- db
- redis
- rabbitmq
db:
image: postgres:latest
expose:
- "5432"
volumes:
- ./data:/var/lib/postgresql/data
environment:
- POSTGRES_USER=dokumentor
- POSTGRES_PASSWORD=dokumentor
redis:
image: redis:alpine
expose:
- "6379"
rabbitmq:
image: rabbitmq:alpine
environment:
- RABBITMQ_DEFAULT_USER=dokumentor
- RABBITMQ_DEFAULT_PASS=dokumentor
expose:
- "5672"
- "5671"

1
log/.gitignore vendored

@ -0,0 +1 @@
*

@ -0,0 +1,10 @@
#!/usr/bin/env python
import os
import sys
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project.settings")
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)

@ -0,0 +1,4 @@
# -*- coding: utf-8 -*-
from __future__ import absolute_import
from .celery import app as celery_app

@ -3,7 +3,7 @@ from django import forms
from captcha.fields import CaptchaField from captcha.fields import CaptchaField
from callback import models from . import models
class ReqAvailForm(forms.ModelForm): class ReqAvailForm(forms.ModelForm):
@ -16,6 +16,7 @@ class ReqAvailForm(forms.ModelForm):
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
super(ReqAvailForm, self).__init__(*args, **kwargs) super(ReqAvailForm, self).__init__(*args, **kwargs)
self.fields['name'].label = u'Ваше имя'
self.fields['name'].widget.attrs['placeholder'] = u'Ваше имя, отчество' self.fields['name'].widget.attrs['placeholder'] = u'Ваше имя, отчество'
self.fields['phone'].widget.attrs['placeholder'] = u'Ваш номер телефона или e-mail' self.fields['phone'].widget.attrs['placeholder'] = u'Ваш номер телефона или e-mail'
self.fields['name'].widget.attrs['width'] = u'Ваше имя, отчество' self.fields['name'].widget.attrs['width'] = u'Ваше имя, отчество'
@ -30,4 +31,13 @@ class ReqAvailForm(forms.ModelForm):
else: else:
raise forms.ValidationError(u"Заполните все поля") raise forms.ValidationError(u"Заполните все поля")
return cleaned_data return cleaned_data
#name = self.cleaned_data.get('name', '').strip()
#phone = self.cleaned_data.get('phone', '').strip()
#if not name:
# raise forms.ValidationError(u'Укажите Ваше имя.')
#if not phone:
# raise forms.ValidationError(u'Укажите Ваш телефон.')
return self.cleaned_data

@ -3,10 +3,11 @@ import os.path
from django.conf import settings from django.conf import settings
from django.db import models from django.db import models
from django.db.models import Q
class ReqAvail(models.Model): class ReqAvail(models.Model):
"""Обратная связь""" """Заказ товара."""
NEW_STATUS = 0 NEW_STATUS = 0
DONE_STATUS = 1 DONE_STATUS = 1
@ -19,6 +20,10 @@ class ReqAvail(models.Model):
phone = models.CharField(u'Телефон или e-mail', max_length=50) phone = models.CharField(u'Телефон или e-mail', max_length=50)
message = models.TextField(u'Текст сообщения') message = models.TextField(u'Текст сообщения')
user = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='messages', null=True, blank=True) user = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='messages', null=True, blank=True)
# email = models.EmailField(u'E-mail', default='', blank=True)
# region = models.ForeignKey(Region, verbose_name=u"Регион", blank=False, null=False, default='')
#good = models.ForeignKey(CatalogItem, verbose_name=u'Товар', null=True, blank=True)
status = models.PositiveSmallIntegerField(u'Статус', choices=STATUS_CHOICES, default=NEW_STATUS) status = models.PositiveSmallIntegerField(u'Статус', choices=STATUS_CHOICES, default=NEW_STATUS)
status_changed = models.DateTimeField(u'Статус изменен', null=True, blank=True, editable=False) status_changed = models.DateTimeField(u'Статус изменен', null=True, blank=True, editable=False)
@ -33,12 +38,7 @@ class ReqAvail(models.Model):
def __unicode__(self): def __unicode__(self):
return u'Сообщение %s от %s' % ( return u'Сообщение %s от %s' % (
self.name[:20], #self.good if self.good_id else u'(Ничего)',
self.created_at.strftime("%d.%m.%Y %H:%M"),
)
def __str__(self):
return u'Сообщение %s от %s' % (
self.name[:20], self.name[:20],
self.created_at.strftime("%d.%m.%Y %H:%M"), self.created_at.strftime("%d.%m.%Y %H:%M"),
) )

@ -0,0 +1,8 @@
# -*- coding: utf-8 -*-
from django.conf.urls.defaults import patterns, url
from .views import req_avail
urlpatterns = patterns('',
url(r'^send/$', req_avail, name='callback-send-message'),
url(r'^send/(?P<id>\d+)/$', req_avail, name='callback-request-item'),
)

@ -2,26 +2,30 @@
import json import json
from django.http import HttpResponseBadRequest, HttpResponse from django.http import HttpResponseBadRequest, HttpResponse
from django.views.decorators.http import require_POST from django.views.decorators.http import require_POST, require_GET
from django.views.decorators.csrf import csrf_protect from django.views.decorators.csrf import csrf_protect
from django.template.loader import render_to_string from django.template.loader import render_to_string
from django.core.mail import send_mail from django.core.mail import send_mail
from django.conf import settings from django.conf import settings
from callback.models import ReqAvail from .models import ReqAvail
from callback.forms import ReqAvailForm from .forms import ReqAvailForm
CALLBACK_SETTINGS = getattr(settings, 'CALLBACK_SETTINGS') CALLBACK_SETTINGS = getattr(settings, 'CALLBACK_SETTINGS')
@require_POST @require_POST
@csrf_protect @csrf_protect
def req_avail(request): def req_avail(request, id=None):
"""Отправить сообщение AJAX.""" """Отправить сообщение или обработать запрос наличия товара на складе - AJAX."""
if not request.is_ajax(): if not request.is_ajax():
return HttpResponseBadRequest() return HttpResponseBadRequest()
if id:
good = get_object_or_404(CatalogItem, pk=id)
else:
good = None
form = ReqAvailForm(data=request.POST) form = ReqAvailForm(data=request.POST)
if form.is_valid(): if form.is_valid():
@ -32,8 +36,8 @@ def req_avail(request):
req = ReqAvail.objects.create( req = ReqAvail.objects.create(
name=form.cleaned_data['name'].strip(), name=form.cleaned_data['name'].strip(),
phone=form.cleaned_data['phone'].strip(), phone=form.cleaned_data['phone'].strip(),
message=form.cleaned_data['message'],
user=user, user=user,
#good=good,
) )
# отправить письма менеджерам # отправить письма менеджерам
@ -45,12 +49,13 @@ def req_avail(request):
data = { data = {
'success': form.is_valid(), 'success': form.is_valid(),
# 'field_errors': form.errors, # ошибки полей
'form_errors': form.non_field_errors(), # ошибки формы 'form_errors': form.non_field_errors(), # ошибки формы
} }
# TODO: fix - not emerge
if form.is_valid(): if form.is_valid():
data['message'] = { data['message'] = {
'title': u'Сообщение', 'title': u'Сообщение',
'msg': u'Ваша Сообщение отправлено!<br />Скоро с Вами свяжется наш менеджер.', 'msg': u'Ваша Сообщение отправлено!<br />Скоро с Вами свяжется наш менеджер.',
} }
return HttpResponse(json.dumps(data), content_type='application/json') return HttpResponse(json.dumps(data), mimetype='application/json')

@ -0,0 +1,24 @@
# -*- coding: utf-8 -*-
from __future__ import absolute_import
import os
from celery import Celery
from django.conf import settings
# set the default Django settings module for the 'celery' program.
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project.settings')
app = Celery('proj')
# Using a string here means the worker will not have to
# pickle the object when using Windows.
app.config_from_object('django.conf:settings')
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
#@app.task(bind=True)
#def debug_task(self):
# print('Request: {0!r}'.format(self.request))

@ -2,7 +2,6 @@
from django import forms from django import forms
import autocomplete_light import autocomplete_light
def set_field_error(form, field, msg=u'Обязательное поле.'): def set_field_error(form, field, msg=u'Обязательное поле.'):
"""Добавить сообщение об ошибке поля и убрать это поле из списка успешно прошедших валидацию. """Добавить сообщение об ошибке поля и убрать это поле из списка успешно прошедших валидацию.
Полезно, если нужно инвалидировать поле из метода clean() и добавить ему ошибку. Полезно, если нужно инвалидировать поле из метода clean() и добавить ему ошибку.
@ -18,7 +17,7 @@ class _MySuperForm(object):
# Список условно-обязательных полей, у которых нужно установить атрибут required=False. # Список условно-обязательных полей, у которых нужно установить атрибут required=False.
# Полезно, когда какие-то поля становятся обязательны к заполнению в зависимости от значения других полей. # Полезно, когда какие-то поля становятся обязательны к заполнению в зависимости от значения других полей.
conditional_fields = [] #TODO мигрировать на unset_required conditional_fields = [] #TODO мигрировать на unset_required
# Список полей, у которых нужно сбросить признак обязательности: required=False. # Список полей, у которых нужно сбросить признак обязательности: required=False.
# Полезно, когда в базовой форме определяются какие-то поля, которые в одних унаследованных формах обязательны, # Полезно, когда в базовой форме определяются какие-то поля, которые в одних унаследованных формах обязательны,
@ -47,7 +46,7 @@ class _MySuperForm(object):
fields[key].required = False fields[key].required = False
# заменить label # заменить label
for key, label in self.change_labels.items(): for key, label in self.change_labels.iteritems():
fields[key].label = label fields[key].label = label
@ -66,5 +65,3 @@ class MyBaseModelForm(forms.ModelForm, _MySuperForm):
f = self.fields f = self.fields
if 'units' in f: if 'units' in f:
f['units'].widget = autocomplete_light.TextWidget('ACMeasure') f['units'].widget = autocomplete_light.TextWidget('ACMeasure')
if 'total_price' in f:
f['total_price'].widget = forms.TextInput(attrs={'readonly': 'readonly'})

@ -5,11 +5,11 @@ from django.conf import settings
from django.core.paginator import Paginator, InvalidPage, EmptyPage from django.core.paginator import Paginator, InvalidPage, EmptyPage
from django import forms from django import forms
from commons.utils import safe_int from utils import safe_int
# допустимые значения `per_page` # допустимые значения `per_page`
_ALLOW_PER_PAGE = (10, 20, 50, 75, 100,) # по умолчанию _ALLOW_PER_PAGE = (10,20,50,75,100,) # по умолчанию
ALLOW_PER_PAGE = getattr(settings, 'ALLOW_PER_PAGE', _ALLOW_PER_PAGE) ALLOW_PER_PAGE = getattr(settings, 'ALLOW_PER_PAGE', _ALLOW_PER_PAGE)

@ -0,0 +1,30 @@
# -*- coding: utf-8 -*-
import cStringIO as StringIO
import ho.pisa as pisa
from django.template.loader import render_to_string
from django.template import RequestContext
from django.http import HttpResponse
def pdf_to_response(content, filename=None, filename_encode='windows-1251'):
"""Выводит content в django.http.HttpResponse, который и возвращает."""
response = HttpResponse(content, mimetype='application/pdf')
if filename:
if filename_encode:
filename = filename.encode(filename_encode)
response['Content-Disposition'] = ('attachment; filename="%s"' % filename.replace('"', "''"))
return response
def render_pdf_to_string(request, template_name, dictionary=None):
"""Рендерит html шаблон в pdf. Возвращает строку, в которой содержится сгенерированный pdf."""
context_instance = RequestContext(request)
html = render_to_string(template_name, dictionary, context_instance)
#return HttpResponse(html) # для отладки
result = StringIO.StringIO()
pisa.pisaDocument(StringIO.StringIO(html.encode('utf-8')), result, encoding='utf-8')
pdf_content = result.getvalue()
result.close()
return pdf_content

@ -1,7 +1,6 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import os import os
from hashlib import md5
from django import template from django import template
from django.conf import settings from django.conf import settings
@ -33,7 +32,7 @@ def sum_by_attr(obj_list, attr_name, start=0, stop=None):
result += attr() result += attr()
else: else:
result += attr result += attr
except Exception as error: except Exception, error:
if DEBUG: if DEBUG:
result = 'Tag error: %s' % error result = 'Tag error: %s' % error
else: else:
@ -58,20 +57,9 @@ def to_float(value):
"""Если возможно, приводит value к типу float.""" """Если возможно, приводит value к типу float."""
try: try:
result = float(value) result = float(value)
except Exception as error: except Exception, error:
if DEBUG: if DEBUG:
result = 'Filter error, %s | %s' % (value, error,) result = 'Filter error, %s | %s' % (value, error,)
else: else:
result = value result = value
return result return result
@register.simple_tag
def file_version(path):
"""Вернуть md5-хэш от статического файла."""
full_path = os.path.join(settings.STATIC_ROOT, path)
print(full_path)
try:
return md5(open(full_path, 'rb').read()).hexdigest()
except IOError:
return ''

@ -0,0 +1,3 @@
from useful_tools import *
from get_xlwt_style_list import *
from xls_to_response import *

@ -1,6 +1,5 @@
import xlwt import xlwt
def get_xlwt_style_list(rdbook): def get_xlwt_style_list(rdbook):
wt_style_list = [] wt_style_list = []
for rdxf in rdbook.xf_list: for rdxf in rdbook.xf_list:

@ -1,6 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
def copy_cells(src_sheet, dst_sheet, style_list, def copy_cells(src_sheet, dst_sheet, style_list,
row_from=0, row_to=None, dst_row_shift=0, row_from=0, row_to=None, dst_row_shift=0,
col_from=0, col_to=None, dst_col_shift=0): col_from=0, col_to=None, dst_col_shift=0):
@ -12,8 +11,8 @@ def copy_cells(src_sheet, dst_sheet, style_list,
row_to = row_to or src_sheet.nrows-1 row_to = row_to or src_sheet.nrows-1
col_to = col_to or src_sheet.ncols-1 col_to = col_to or src_sheet.ncols-1
for row in range(row_from, row_to+1): for row in xrange(row_from, row_to+1):
for col in range(col_from, col_to+1): for col in xrange(col_from, col_to+1):
cell = src_sheet.cell(row, col) cell = src_sheet.cell(row, col)
# скопировать контент и стиль ячейки # скопировать контент и стиль ячейки
dst_sheet.write( dst_sheet.write(
@ -37,7 +36,7 @@ def height_rows(src_sheet, dst_sheet,
"""Задать в диапазоне строк [row_from, row_to] высоту как в исходном листе. """Задать в диапазоне строк [row_from, row_to] высоту как в исходном листе.
""" """
row_to = row_to or src_sheet.nrows-1 row_to = row_to or src_sheet.nrows-1
for row in range(row_from, row_to+1): for row in xrange(row_from, row_to+1):
src_rowinfo = src_sheet.rowinfo_map.get(row) src_rowinfo = src_sheet.rowinfo_map.get(row)
if src_rowinfo: if src_rowinfo:
dst_sheet.row(row+dst_row_shift).height = src_rowinfo.height dst_sheet.row(row+dst_row_shift).height = src_rowinfo.height
@ -89,7 +88,7 @@ def width_cols(src_sheet, dst_sheet, col_from=0, col_to=None, dst_col_shift=0):
как в исходном листе. как в исходном листе.
""" """
col_to = col_to or src_sheet.ncols-1 col_to = col_to or src_sheet.ncols-1
for col in range(col_from, col_to+1): for col in xrange(col_from, col_to+1):
dst_sheet.col(col+dst_col_shift).width = ( dst_sheet.col(col+dst_col_shift).width = (
src_sheet.computed_column_width(col)) src_sheet.computed_column_width(col))
@ -112,7 +111,7 @@ def clone_row(src_sheet, dst_sheet, style_list,
Размножить n_times раз строку из исходного листа, с сохранением стилей Размножить n_times раз строку из исходного листа, с сохранением стилей
форматирования. форматирования.
""" """
for offset in range(n_times+1): for offset in xrange(n_times+1):
copy_cells(src_sheet, dst_sheet, style_list, copy_cells(src_sheet, dst_sheet, style_list,
row_from=src_row, row_to=src_row, row_from=src_row, row_to=src_row,
dst_row_shift=dst_row_shift+offset) dst_row_shift=dst_row_shift+offset)
@ -142,7 +141,7 @@ def sum_src_heights(src_sheet, row_from, row_to):
исходного листа. исходного листа.
""" """
result = 0 result = 0
for row in range(row_from, row_to+1): for row in xrange(row_from, row_to+1):
src_rowinfo = src_sheet.rowinfo_map.get(row) src_rowinfo = src_sheet.rowinfo_map.get(row)
if src_rowinfo: if src_rowinfo:
result += src_rowinfo.height result += src_rowinfo.height
@ -154,6 +153,6 @@ def sum_dst_heights(dst_sheet, row_from, row_to):
на новом листе. на новом листе.
""" """
result = 0 result = 0
for row in range(row_from, row_to+1): for row in xrange(row_from, row_to+1):
result += dst_sheet.row(row).height result += dst_sheet.row(row).height
return result return result

@ -0,0 +1,12 @@
# -*- coding: utf-8 -*-
from django.http import HttpResponse
def xls_to_response(content, filename=None, filename_encode='windows-1251'):
"""Выводит content в django.http.HttpResponse, который и возвращает."""
response = HttpResponse(content, mimetype='application/ms-excel')
if filename:
if filename_encode:
filename = filename.encode(filename_encode)
response['Content-Disposition'] = ('attachment; filename="%s"' % filename.replace('"', "''"))
return response

@ -0,0 +1,2 @@
# -*- coding: utf-8 -*-
from .models import get_profile

@ -1,8 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from django.contrib import admin from django.contrib import admin
from customer import forms import forms
from customer import models import models
class UserProfileAdmin(admin.ModelAdmin): class UserProfileAdmin(admin.ModelAdmin):

@ -21,6 +21,7 @@ PAYFORMS = (
(-1, u'Бесплатно'), (-1, u'Бесплатно'),
(0, u'Безналичный расчёт'), (0, u'Безналичный расчёт'),
(1, u'Банковская карта'), (1, u'Банковская карта'),
# (2, u'Квитанция Сбербанка'),
) )
TERMS = ( TERMS = (

@ -1,7 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from datetime import datetime, timedelta from datetime import datetime, timedelta
from django.core.cache import cache from django.core.cache import cache
from customer.models import License from .models import License
def license_check_soon_ends(request): def license_check_soon_ends(request):

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from django.contrib.auth.decorators import user_passes_test from django.contrib.auth.decorators import user_passes_test
from django.core.urlresolvers import reverse
def license_required(function=None, redirect_field_name=None, login_url='/my/license/'): def license_required(function=None, redirect_field_name=None, login_url='/my/license/'):
""" """

@ -1,18 +1,16 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from django import forms from django import forms
from django.utils.encoding import force_text from django.utils.encoding import force_unicode
from django.utils.safestring import mark_safe from django.utils.safestring import mark_safe
from django.conf import settings from django.conf import settings
from yandex_money.forms import PaymentForm from yandex_money.forms import PaymentForm
from commons.forms import MyBaseModelForm, set_field_error from project.commons.forms import MyBaseModelForm, set_field_error
from customer import consts, models from . import consts, models
from django.forms.utils import ErrorList
from django.forms.forms import NON_FIELD_ERRORS
FILE_UPLOAD_MAX_MEMORY_SIZE = getattr(settings, 'FILE_UPLOAD_MAX_MEMORY_SIZE ', 2621440) # default 2.5Mb FILE_UPLOAD_MAX_MEMORY_SIZE = getattr(settings, 'FILE_UPLOAD_MAX_MEMORY_SIZE ', 2621440) # default 2.5Mb
def get_profile_form_class(profile_type): def get_profile_form_class(profile_type):
@ -61,7 +59,6 @@ class UserProfileForm(MyBaseModelForm):
class Meta: class Meta:
model = models.UserProfile model = models.UserProfile
fields = "__all__"
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
super(UserProfileForm, self).__init__(*args, **kwargs) super(UserProfileForm, self).__init__(*args, **kwargs)
@ -182,29 +179,26 @@ class BankAccountForm(forms.ModelForm):
model = models.BankAccount model = models.BankAccount
fields = ('bik', 'name', 'short_name', 'korr_account', 'account', 'is_main', 'company') fields = ('bik', 'name', 'short_name', 'korr_account', 'account', 'is_main', 'company')
_textarea = forms.Textarea(attrs={'cols': 80, 'rows': 3}) _textarea = forms.Textarea(attrs={'cols': 80, 'rows': 3})
widgets = { widgets = {'name': _textarea, 'short_name': _textarea, 'company': forms.HiddenInput()}
'bik': forms.HiddenInput(),
'name': forms.HiddenInput(),
'short_name': forms.HiddenInput(),
'korr_account': forms.HiddenInput(),
'company': forms.HiddenInput(),
}
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
super(BankAccountForm, self).__init__(*args, **kwargs) super(BankAccountForm, self).__init__(*args, **kwargs)
self.fields['bik'].widget.attrs.update(_numeric(self.fields['bik']))
self.fields['korr_account'].widget.attrs.update(_numeric(self.fields['korr_account']))
self.fields['account'].widget.attrs.update(_numeric(self.fields['account'])) self.fields['account'].widget.attrs.update(_numeric(self.fields['account']))
class BankAccountAdminForm(BankAccountForm): class BankAccountAdminForm(BankAccountForm):
"""Форма редактирования расчетных счетов - для админки.""" """Форма редактирования расчетных счетов - для админки."""
class Meta(BankAccountForm.Meta): class Meta(BankAccountForm.Meta):
fields = '__all__' fields = None
exclude = ('address',)
class BankAccountListForm(forms.Form): class BankAccountListForm(forms.Form):
"""Форма со списком всех расчетных счетов пользователя.""" """Форма со списком всех расчетных счетов пользователя."""
bank_account = forms.ModelChoiceField(queryset=models.BankAccount.objects.get_all(None), bank_account = forms.ModelChoiceField(queryset=models.BankAccount.objects.get_all(None),
empty_label=u'все контрагенты', required=False) empty_label=u'все контрагенты', required=False)
def __init__(self, user, *args, **kwargs): def __init__(self, user, *args, **kwargs):
super(BankAccountListForm, self).__init__(*args, **kwargs) super(BankAccountListForm, self).__init__(*args, **kwargs)
@ -217,43 +211,29 @@ class ClientForm(forms.ModelForm):
"""Форма редактирования контрагентов.""" """Форма редактирования контрагентов."""
class Meta: class Meta:
model = models.Client model = models.Client
fields = ('name', 'name_short_self', 'name_short_dadata', 'inn', 'kpp', 'ogrn', 'okpo', 'address', fields = ('name', 'inn', 'kpp', 'ogrn', 'okpo', 'address',
# банковские реквизиты # банковские реквизиты
'bank_bik', 'bank_name', 'bank_short_name', 'bank_korr_account', 'bank_account', 'bank_bik', 'bank_name', 'bank_korr_account', 'bank_account',
# контакты # контакты
'contact_name', 'contact_email', 'contact_phone', 'contact_skype', 'contact_other', 'contact_name', 'contact_email', 'contact_phone', 'contact_skype', 'contact_other',
) )
_textarea = forms.Textarea(attrs={'cols': 80, 'rows': 3}) _textarea = forms.Textarea(attrs={'cols': 80, 'rows': 3})
widgets = { widgets = {
'bank_bik': forms.HiddenInput(), #'name': _textarea,
'bank_name': forms.HiddenInput(), #'address': _textarea,
'bank_short_name': forms.HiddenInput(), 'bank_name': _textarea,
'bank_korr_account': forms.HiddenInput(), #'contact_other': _textarea,
} }
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
self.request = kwargs.pop('request', None)
super(ClientForm, self).__init__(*args, **kwargs) super(ClientForm, self).__init__(*args, **kwargs)
self.fields['inn'].widget.attrs.update(_numeric(self.fields['inn'])) self.fields['inn'].widget.attrs.update(_numeric(self.fields['inn']))
self.fields['kpp'].widget.attrs.update(_numeric(self.fields['kpp'])) self.fields['kpp'].widget.attrs.update(_numeric(self.fields['kpp']))
self.fields['ogrn'].widget.attrs.update(_numeric(self.fields['ogrn'])) self.fields['ogrn'].widget.attrs.update(_numeric(self.fields['ogrn']))
self.fields['okpo'].widget.attrs.update(_numeric(self.fields['okpo'])) self.fields['okpo'].widget.attrs.update(_numeric(self.fields['okpo']))
self.fields['bank_bik'].widget.attrs.update(_numeric(self.fields['bank_bik']))
def clean(self): self.fields['bank_korr_account'].widget.attrs.update(_numeric(self.fields['bank_korr_account']))
self.fields['bank_account'].widget.attrs.update(_numeric(self.fields['bank_account']))
if self.instance.inn:
return self.cleaned_data
inn = self.cleaned_data.get('inn')
partner_exists = models.Client.objects.filter(inn=inn, company=self.request.user.profile)
if partner_exists:
if 'inn' not in self._errors:
error = 'Контрагент с ИНН {} уже существует'.format(inn)
self._errors['inn'] = ErrorList()
self._errors['inn'].append(error)
self._errors[NON_FIELD_ERRORS] = self.error_class([error])
return self.cleaned_data
class ClientAdminForm(ClientForm): class ClientAdminForm(ClientForm):
@ -265,8 +245,8 @@ class ClientAdminForm(ClientForm):
class ClientsListForm(forms.Form): class ClientsListForm(forms.Form):
"""Форма со списком всех контрагентов пользователя.""" """Форма со списком всех контрагентов пользователя."""
client = forms.ModelChoiceField(queryset=models.Client.objects.get_all(None), client = forms.ModelChoiceField(queryset=models.Client.objects.get_all(None), empty_label=u'все контрагенты',
empty_label=u'все контрагенты', required=False) required=False)
def __init__(self, user, *args, **kwargs): def __init__(self, user, *args, **kwargs):
super(ClientsListForm, self).__init__(*args, **kwargs) super(ClientsListForm, self).__init__(*args, **kwargs)
@ -277,7 +257,7 @@ class ClientsListForm(forms.Form):
class UserProfileFiltersForm(MyBaseModelForm): class UserProfileFiltersForm(MyBaseModelForm):
"""Общая форма фильтрации реквизитов.""" """Общая форма фильтрации реквизитов."""
_profile_type = None # задать в наследнике! _profile_type = None # задать в наследнике!
_is_admin = False _is_admin = False
_user = None _user = None
@ -287,7 +267,6 @@ class UserProfileFiltersForm(MyBaseModelForm):
widgets = { widgets = {
'bank_account': forms.RadioSelect(), 'bank_account': forms.RadioSelect(),
} }
fields = "__all__"
def __init__(self, profile=None, accounts=None, *args, **kwargs): def __init__(self, profile=None, accounts=None, *args, **kwargs):
instance = kwargs.get('instance') instance = kwargs.get('instance')
@ -372,7 +351,7 @@ class UserProfileFiltersForm(MyBaseModelForm):
f_acc.queryset = accounts f_acc.queryset = accounts
f_acc.empty_label = None f_acc.empty_label = None
f_acc.label_from_instance = lambda obj: mark_safe( f_acc.label_from_instance = lambda obj: mark_safe(
force_text('%s<br /><span class="name">%s</span>' % (obj.account, obj.name,))) # исправить метку force_unicode('%s<br /><span class="name">%s</span>' % (obj.account, obj.name,))) # исправить метку
# заблокировать чекбоксы, если: не заполнены определенные поля в профиле или нет расчетных счетов # заблокировать чекбоксы, если: не заполнены определенные поля в профиле или нет расчетных счетов
if profile: if profile:

@ -3,7 +3,7 @@ from django.utils.functional import SimpleLazyObject
from django.contrib.auth.views import logout as django_logout from django.contrib.auth.views import logout as django_logout
from django.contrib import messages from django.contrib import messages
from customer.models import get_profile from .models import get_profile
def _get_profile(request): def _get_profile(request):

@ -0,0 +1,289 @@
# -*- 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 'UserProfile'
db.create_table(u'customer_userprofile', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('profile_type', self.gf('django.db.models.fields.PositiveSmallIntegerField')()),
('boss_surname', self.gf('django.db.models.fields.CharField')(default='', max_length=30)),
('boss_name', self.gf('django.db.models.fields.CharField')(default='', max_length=30)),
('boss_midname', self.gf('django.db.models.fields.CharField')(default='', max_length=30)),
('inn', self.gf('django.db.models.fields.CharField')(default='', max_length=12)),
('ogrn', self.gf('django.db.models.fields.CharField')(default='', max_length=15)),
('okpo', self.gf('django.db.models.fields.CharField')(default='', max_length=10, blank=True)),
('glavbuh_surname', self.gf('django.db.models.fields.CharField')(default='', max_length=30, blank=True)),
('glavbuh_name', self.gf('django.db.models.fields.CharField')(default='', max_length=30, blank=True)),
('glavbuh_midname', self.gf('django.db.models.fields.CharField')(default='', max_length=30, blank=True)),
('address', self.gf('django.db.models.fields.CharField')(default='', max_length=256)),
('real_address', self.gf('django.db.models.fields.CharField')(default='', max_length=256, blank=True)),
('phone_code', self.gf('django.db.models.fields.CharField')(default='', max_length=10, blank=True)),
('phone', self.gf('django.db.models.fields.CharField')(default='', max_length=20, blank=True)),
('fax_code', self.gf('django.db.models.fields.CharField')(default='', max_length=10, blank=True)),
('fax', self.gf('django.db.models.fields.CharField')(default='', max_length=20, blank=True)),
('email', self.gf('django.db.models.fields.EmailField')(default='', max_length=75, blank=True)),
('site', self.gf('django.db.models.fields.CharField')(default='', max_length=256, blank=True)),
('svid_gos_reg', self.gf('django.db.models.fields.CharField')(default='', max_length=256, blank=True)),
('ip_reg_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
('name', self.gf('django.db.models.fields.CharField')(default='', max_length=256)),
('full_name', self.gf('django.db.models.fields.CharField')(default='', max_length=256, blank=True)),
('kpp', self.gf('django.db.models.fields.CharField')(default='', max_length=9)),
('jur_address', self.gf('django.db.models.fields.CharField')(default='', max_length=256, blank=True)),
('boss_title', self.gf('django.db.models.fields.CharField')(default='', max_length=256, blank=True)),
('na_osnovanii', self.gf('django.db.models.fields.CharField')(default='', max_length=256, blank=True)),
('boss_sign', self.gf('django.db.models.fields.files.ImageField')(default='', max_length=100, blank=True)),
('glavbuh_sign', self.gf('django.db.models.fields.files.ImageField')(default='', max_length=100, blank=True)),
('stamp', self.gf('django.db.models.fields.files.ImageField')(default='', max_length=100, blank=True)),
('logo', self.gf('django.db.models.fields.files.ImageField')(default='', max_length=100, blank=True)),
('created_at', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
('updated_at', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
('active', self.gf('django.db.models.fields.BooleanField')(default=False)),
('confirmed', self.gf('django.db.models.fields.BooleanField')(default=False)),
('user_session_key', self.gf('django.db.models.fields.CharField')(default='', max_length=256, blank=True)),
))
db.send_create_signal(u'customer', ['UserProfile'])
# Adding model 'BankAccount'
db.create_table(u'customer_bankaccount', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('company', self.gf('django.db.models.fields.related.ForeignKey')(related_name='bank_accounts', to=orm['customer.UserProfile'])),
('bik', self.gf('django.db.models.fields.CharField')(max_length=10)),
('name', self.gf('django.db.models.fields.CharField')(max_length=256)),
('address', self.gf('django.db.models.fields.CharField')(max_length=256)),
('korr_account', self.gf('django.db.models.fields.CharField')(max_length=20)),
('account', self.gf('django.db.models.fields.CharField')(max_length=20)),
('is_main', self.gf('django.db.models.fields.BooleanField')(default=False)),
('created_at', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
('updated_at', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
))
db.send_create_signal(u'customer', ['BankAccount'])
# Adding model 'Client'
db.create_table(u'customer_client', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('company', self.gf('django.db.models.fields.related.ForeignKey')(related_name='clients', to=orm['customer.UserProfile'])),
('name', self.gf('django.db.models.fields.CharField')(max_length=256, db_index=True)),
('inn', self.gf('django.db.models.fields.CharField')(max_length=12)),
('kpp', self.gf('django.db.models.fields.CharField')(default='', max_length=9, blank=True)),
('okpo', self.gf('django.db.models.fields.CharField')(default='', max_length=10, blank=True)),
('address', self.gf('django.db.models.fields.CharField')(max_length=256)),
('bank_bik', self.gf('django.db.models.fields.CharField')(default='', max_length=10, blank=True)),
('bank_name', self.gf('django.db.models.fields.CharField')(default='', max_length=256, blank=True)),
('bank_address', self.gf('django.db.models.fields.CharField')(default='', max_length=256, blank=True)),
('bank_korr_account', self.gf('django.db.models.fields.CharField')(default='', max_length=20, blank=True)),
('bank_account', self.gf('django.db.models.fields.CharField')(default='', max_length=20, blank=True)),
('contact_name', self.gf('django.db.models.fields.CharField')(default='', max_length=50, blank=True)),
('contact_email', self.gf('django.db.models.fields.EmailField')(default='', max_length=50, blank=True)),
('contact_phone', self.gf('django.db.models.fields.CharField')(default='', max_length=50, blank=True)),
('contact_icq', self.gf('django.db.models.fields.CharField')(default='', max_length=20, blank=True)),
('contact_skype', self.gf('django.db.models.fields.CharField')(default='', max_length=20, blank=True)),
('contact_other', self.gf('django.db.models.fields.CharField')(default='', max_length=256, blank=True)),
('created_at', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
('updated_at', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
))
db.send_create_signal(u'customer', ['Client'])
# Adding model 'UserProfileFilters'
db.create_table(u'customer_userprofilefilters', (
('company', self.gf('django.db.models.fields.related.OneToOneField')(related_name='profile_filters', unique=True, primary_key=True, to=orm['customer.UserProfile'])),
('show_profile_type', self.gf('django.db.models.fields.BooleanField')(default=True)),
('show_inn', self.gf('django.db.models.fields.BooleanField')(default=True)),
('show_ogrn', self.gf('django.db.models.fields.BooleanField')(default=True)),
('show_okpo', self.gf('django.db.models.fields.BooleanField')(default=True)),
('show_glavbuh', self.gf('django.db.models.fields.BooleanField')(default=True)),
('show_bank_account', self.gf('django.db.models.fields.BooleanField')(default=True)),
('bank_account', self.gf('django.db.models.fields.related.ForeignKey')(default=None, related_name='+', null=True, blank=True, to=orm['customer.BankAccount'])),
('show_contact_info', self.gf('django.db.models.fields.BooleanField')(default=True)),
('show_real_address', self.gf('django.db.models.fields.BooleanField')(default=True)),
('show_phone', self.gf('django.db.models.fields.BooleanField')(default=True)),
('show_fax', self.gf('django.db.models.fields.BooleanField')(default=True)),
('show_email', self.gf('django.db.models.fields.BooleanField')(default=True)),
('show_site', self.gf('django.db.models.fields.BooleanField')(default=True)),
('show_ip_boss_fio', self.gf('django.db.models.fields.BooleanField')(default=True)),
('show_svid_gos_reg', self.gf('django.db.models.fields.BooleanField')(default=True)),
('show_ip_reg_date', self.gf('django.db.models.fields.BooleanField')(default=True)),
('show_name', self.gf('django.db.models.fields.BooleanField')(default=True)),
('show_full_name', self.gf('django.db.models.fields.BooleanField')(default=True)),
('show_kpp', self.gf('django.db.models.fields.BooleanField')(default=True)),
('show_org_boss_title_and_fio', self.gf('django.db.models.fields.BooleanField')(default=True)),
('show_na_osnovanii', self.gf('django.db.models.fields.BooleanField')(default=True)),
('show_jur_address', self.gf('django.db.models.fields.BooleanField')(default=True)),
))
db.send_create_signal(u'customer', ['UserProfileFilters'])
# Adding model 'License'
db.create_table(u'customer_license', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('company', self.gf('django.db.models.fields.related.ForeignKey')(related_name='licenses', to=orm['customer.UserProfile'])),
('term', self.gf('django.db.models.fields.IntegerField')()),
('date_from', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
('date_to', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
('payform', self.gf('django.db.models.fields.IntegerField')(default=0)),
('status', self.gf('django.db.models.fields.IntegerField')(default=0)),
('order_date', self.gf('django.db.models.fields.DateField')(auto_now_add=True, blank=True)),
('paid_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
('pay_sum', self.gf('django.db.models.fields.IntegerField')()),
('deleted', self.gf('django.db.models.fields.BooleanField')(default=False)),
))
db.send_create_signal(u'customer', ['License'])
# Adding model 'LicensePrice'
db.create_table(u'customer_licenseprice', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('term', self.gf('django.db.models.fields.IntegerField')()),
('price', self.gf('django.db.models.fields.IntegerField')()),
))
db.send_create_signal(u'customer', ['LicensePrice'])
def backwards(self, orm):
# Deleting model 'UserProfile'
db.delete_table(u'customer_userprofile')
# Deleting model 'BankAccount'
db.delete_table(u'customer_bankaccount')
# Deleting model 'Client'
db.delete_table(u'customer_client')
# Deleting model 'UserProfileFilters'
db.delete_table(u'customer_userprofilefilters')
# Deleting model 'License'
db.delete_table(u'customer_license')
# Deleting model 'LicensePrice'
db.delete_table(u'customer_licenseprice')
models = {
u'customer.bankaccount': {
'Meta': {'ordering': "['-created_at']", 'object_name': 'BankAccount'},
'account': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'address': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'bik': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'bank_accounts'", 'to': u"orm['customer.UserProfile']"}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'is_main': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'korr_account': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
u'customer.client': {
'Meta': {'ordering': "['name', '-created_at']", 'object_name': 'Client'},
'address': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'bank_account': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'bank_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'bank_bik': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'bank_korr_account': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'bank_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'clients'", 'to': u"orm['customer.UserProfile']"}),
'contact_email': ('django.db.models.fields.EmailField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_icq': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'contact_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_other': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'contact_phone': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_skype': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'inn': ('django.db.models.fields.CharField', [], {'max_length': '12'}),
'kpp': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '9', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256', 'db_index': 'True'}),
'okpo': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
u'customer.license': {
'Meta': {'object_name': 'License'},
'company': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'licenses'", 'to': u"orm['customer.UserProfile']"}),
'date_from': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'date_to': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'order_date': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'paid_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'pay_sum': ('django.db.models.fields.IntegerField', [], {}),
'payform': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'status': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'term': ('django.db.models.fields.IntegerField', [], {})
},
u'customer.licenseprice': {
'Meta': {'object_name': 'LicensePrice'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'price': ('django.db.models.fields.IntegerField', [], {}),
'term': ('django.db.models.fields.IntegerField', [], {})
},
u'customer.userprofile': {
'Meta': {'object_name': 'UserProfile'},
'active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256'}),
'boss_midname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_sign': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'boss_surname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_title': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'confirmed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'email': ('django.db.models.fields.EmailField', [], {'default': "''", 'max_length': '75', 'blank': 'True'}),
'fax': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'fax_code': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'full_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'glavbuh_midname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
'glavbuh_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
'glavbuh_sign': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'glavbuh_surname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'inn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '12'}),
'ip_reg_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'jur_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'kpp': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '9'}),
'logo': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'na_osnovanii': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256'}),
'ogrn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '15'}),
'okpo': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'phone': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'phone_code': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'profile_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {}),
'real_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'site': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'stamp': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'svid_gos_reg': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user_session_key': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'})
},
u'customer.userprofilefilters': {
'Meta': {'object_name': 'UserProfileFilters'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'+'", 'null': 'True', 'blank': 'True', 'to': u"orm['customer.BankAccount']"}),
'company': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'profile_filters'", 'unique': 'True', 'primary_key': 'True', 'to': u"orm['customer.UserProfile']"}),
'show_bank_account': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_contact_info': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_email': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_fax': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_full_name': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_glavbuh': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_inn': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_ip_boss_fio': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_ip_reg_date': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_jur_address': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_kpp': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_na_osnovanii': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_name': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_ogrn': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_okpo': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_org_boss_title_and_fio': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_phone': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_profile_type': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_real_address': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_site': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_svid_gos_reg': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
}
}
complete_apps = ['customer']

@ -0,0 +1,147 @@
# -*- 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 field 'UserProfileFilters.show_logo'
db.add_column(u'customer_userprofilefilters', 'show_logo',
self.gf('django.db.models.fields.BooleanField')(default=True),
keep_default=False)
def backwards(self, orm):
# Deleting field 'UserProfileFilters.show_logo'
db.delete_column(u'customer_userprofilefilters', 'show_logo')
models = {
u'customer.bankaccount': {
'Meta': {'ordering': "['-created_at']", 'object_name': 'BankAccount'},
'account': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'address': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'bik': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'bank_accounts'", 'to': u"orm['customer.UserProfile']"}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'is_main': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'korr_account': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
u'customer.client': {
'Meta': {'ordering': "['name', '-created_at']", 'object_name': 'Client'},
'address': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'bank_account': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'bank_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'bank_bik': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'bank_korr_account': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'bank_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'clients'", 'to': u"orm['customer.UserProfile']"}),
'contact_email': ('django.db.models.fields.EmailField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_icq': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'contact_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_other': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'contact_phone': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_skype': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'inn': ('django.db.models.fields.CharField', [], {'max_length': '12'}),
'kpp': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '9', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256', 'db_index': 'True'}),
'okpo': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
u'customer.license': {
'Meta': {'object_name': 'License'},
'company': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'licenses'", 'to': u"orm['customer.UserProfile']"}),
'date_from': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'date_to': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'order_date': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'paid_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'pay_sum': ('django.db.models.fields.IntegerField', [], {}),
'payform': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'status': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'term': ('django.db.models.fields.IntegerField', [], {})
},
u'customer.licenseprice': {
'Meta': {'object_name': 'LicensePrice'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'price': ('django.db.models.fields.IntegerField', [], {}),
'term': ('django.db.models.fields.IntegerField', [], {})
},
u'customer.userprofile': {
'Meta': {'object_name': 'UserProfile'},
'active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256'}),
'boss_midname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_sign': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'boss_surname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_title': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'confirmed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'email': ('django.db.models.fields.EmailField', [], {'default': "''", 'max_length': '75', 'blank': 'True'}),
'fax': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'fax_code': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'full_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'glavbuh_midname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
'glavbuh_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
'glavbuh_sign': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'glavbuh_surname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'inn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '12'}),
'ip_reg_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'jur_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'kpp': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '9'}),
'logo': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'na_osnovanii': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256'}),
'ogrn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '15'}),
'okpo': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'phone': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'phone_code': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'profile_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {}),
'real_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'site': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'stamp': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'svid_gos_reg': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user_session_key': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'})
},
u'customer.userprofilefilters': {
'Meta': {'object_name': 'UserProfileFilters'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'+'", 'null': 'True', 'blank': 'True', 'to': u"orm['customer.BankAccount']"}),
'company': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'profile_filters'", 'unique': 'True', 'primary_key': 'True', 'to': u"orm['customer.UserProfile']"}),
'show_bank_account': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_contact_info': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_email': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_fax': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_full_name': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_glavbuh': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_inn': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_ip_boss_fio': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_ip_reg_date': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_jur_address': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_kpp': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_logo': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_na_osnovanii': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_name': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_ogrn': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_okpo': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_org_boss_title_and_fio': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_phone': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_profile_type': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_real_address': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_site': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_svid_gos_reg': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
}
}
complete_apps = ['customer']

@ -0,0 +1,148 @@
# -*- 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 field 'UserProfileFilters.show_address'
db.add_column(u'customer_userprofilefilters', 'show_address',
self.gf('django.db.models.fields.BooleanField')(default=True),
keep_default=False)
def backwards(self, orm):
# Deleting field 'UserProfileFilters.show_address'
db.delete_column(u'customer_userprofilefilters', 'show_address')
models = {
u'customer.bankaccount': {
'Meta': {'ordering': "['-created_at']", 'object_name': 'BankAccount'},
'account': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'address': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'bik': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'bank_accounts'", 'to': u"orm['customer.UserProfile']"}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'is_main': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'korr_account': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
u'customer.client': {
'Meta': {'ordering': "['name', '-created_at']", 'object_name': 'Client'},
'address': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'bank_account': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'bank_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'bank_bik': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'bank_korr_account': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'bank_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'clients'", 'to': u"orm['customer.UserProfile']"}),
'contact_email': ('django.db.models.fields.EmailField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_icq': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'contact_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_other': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'contact_phone': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_skype': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'inn': ('django.db.models.fields.CharField', [], {'max_length': '12'}),
'kpp': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '9', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256', 'db_index': 'True'}),
'okpo': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
u'customer.license': {
'Meta': {'object_name': 'License'},
'company': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'licenses'", 'to': u"orm['customer.UserProfile']"}),
'date_from': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'date_to': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'order_date': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'paid_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'pay_sum': ('django.db.models.fields.IntegerField', [], {}),
'payform': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'status': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'term': ('django.db.models.fields.IntegerField', [], {})
},
u'customer.licenseprice': {
'Meta': {'object_name': 'LicensePrice'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'price': ('django.db.models.fields.IntegerField', [], {}),
'term': ('django.db.models.fields.IntegerField', [], {})
},
u'customer.userprofile': {
'Meta': {'object_name': 'UserProfile'},
'active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256'}),
'boss_midname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_sign': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'boss_surname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_title': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'confirmed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'email': ('django.db.models.fields.EmailField', [], {'default': "''", 'max_length': '75', 'blank': 'True'}),
'fax': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'fax_code': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'full_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'glavbuh_midname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
'glavbuh_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
'glavbuh_sign': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'glavbuh_surname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'inn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '12'}),
'ip_reg_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'jur_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'kpp': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '9'}),
'logo': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'na_osnovanii': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256'}),
'ogrn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '15'}),
'okpo': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'phone': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'phone_code': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'profile_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {}),
'real_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'site': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'stamp': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'svid_gos_reg': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user_session_key': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'})
},
u'customer.userprofilefilters': {
'Meta': {'object_name': 'UserProfileFilters'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'+'", 'null': 'True', 'blank': 'True', 'to': u"orm['customer.BankAccount']"}),
'company': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'profile_filters'", 'unique': 'True', 'primary_key': 'True', 'to': u"orm['customer.UserProfile']"}),
'show_address': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_bank_account': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_contact_info': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_email': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_fax': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_full_name': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_glavbuh': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_inn': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_ip_boss_fio': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_ip_reg_date': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_jur_address': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_kpp': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_logo': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_na_osnovanii': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_name': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_ogrn': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_okpo': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_org_boss_title_and_fio': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_phone': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_profile_type': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_real_address': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_site': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_svid_gos_reg': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
}
}
complete_apps = ['customer']

@ -0,0 +1,156 @@
# -*- 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):
# Deleting field 'Client.contact_icq'
db.delete_column(u'customer_client', 'contact_icq')
# Adding field 'Client.ogrn'
db.add_column(u'customer_client', 'ogrn',
self.gf('django.db.models.fields.CharField')(default='', max_length=15),
keep_default=False)
def backwards(self, orm):
# Adding field 'Client.contact_icq'
db.add_column(u'customer_client', 'contact_icq',
self.gf('django.db.models.fields.CharField')(default='', max_length=20, blank=True),
keep_default=False)
# Deleting field 'Client.ogrn'
db.delete_column(u'customer_client', 'ogrn')
models = {
u'customer.bankaccount': {
'Meta': {'ordering': "['-created_at']", 'object_name': 'BankAccount'},
'account': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'address': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'bik': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'bank_accounts'", 'to': u"orm['customer.UserProfile']"}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'is_main': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'korr_account': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
u'customer.client': {
'Meta': {'ordering': "['name', '-created_at']", 'object_name': 'Client'},
'address': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'bank_account': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'bank_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'bank_bik': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'bank_korr_account': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'bank_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'clients'", 'to': u"orm['customer.UserProfile']"}),
'contact_email': ('django.db.models.fields.EmailField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_other': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'contact_phone': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_skype': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'inn': ('django.db.models.fields.CharField', [], {'max_length': '12'}),
'kpp': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '9', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256', 'db_index': 'True'}),
'ogrn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '15'}),
'okpo': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
u'customer.license': {
'Meta': {'object_name': 'License'},
'company': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'licenses'", 'to': u"orm['customer.UserProfile']"}),
'date_from': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'date_to': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'order_date': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'paid_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'pay_sum': ('django.db.models.fields.IntegerField', [], {}),
'payform': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'status': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'term': ('django.db.models.fields.IntegerField', [], {})
},
u'customer.licenseprice': {
'Meta': {'object_name': 'LicensePrice'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'price': ('django.db.models.fields.IntegerField', [], {}),
'term': ('django.db.models.fields.IntegerField', [], {})
},
u'customer.userprofile': {
'Meta': {'object_name': 'UserProfile'},
'active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256'}),
'boss_midname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_sign': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'boss_surname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_title': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'confirmed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'email': ('django.db.models.fields.EmailField', [], {'default': "''", 'max_length': '75', 'blank': 'True'}),
'fax': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'fax_code': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'full_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'glavbuh_midname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
'glavbuh_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
'glavbuh_sign': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'glavbuh_surname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'inn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '12'}),
'ip_reg_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'jur_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'kpp': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '9'}),
'logo': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'na_osnovanii': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256'}),
'ogrn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '15'}),
'okpo': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'phone': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'phone_code': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'profile_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {}),
'real_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'site': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'stamp': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'svid_gos_reg': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user_session_key': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'})
},
u'customer.userprofilefilters': {
'Meta': {'object_name': 'UserProfileFilters'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'+'", 'null': 'True', 'blank': 'True', 'to': u"orm['customer.BankAccount']"}),
'company': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'profile_filters'", 'unique': 'True', 'primary_key': 'True', 'to': u"orm['customer.UserProfile']"}),
'show_address': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_bank_account': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_contact_info': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_email': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_fax': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_full_name': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_glavbuh': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_inn': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_ip_boss_fio': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_ip_reg_date': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_jur_address': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_kpp': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_logo': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_na_osnovanii': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_name': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_ogrn': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_okpo': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_org_boss_title_and_fio': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_phone': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_profile_type': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_real_address': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_site': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_svid_gos_reg': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
}
}
complete_apps = ['customer']

@ -0,0 +1,149 @@
# -*- 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 field 'BankAccount.short_name'
db.add_column(u'customer_bankaccount', 'short_name',
self.gf('django.db.models.fields.CharField')(default='', max_length=100, blank=True),
keep_default=False)
def backwards(self, orm):
# Deleting field 'BankAccount.short_name'
db.delete_column(u'customer_bankaccount', 'short_name')
models = {
u'customer.bankaccount': {
'Meta': {'ordering': "['-created_at']", 'object_name': 'BankAccount'},
'account': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'address': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'bik': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'bank_accounts'", 'to': u"orm['customer.UserProfile']"}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'is_main': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'korr_account': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'short_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
u'customer.client': {
'Meta': {'ordering': "['name', '-created_at']", 'object_name': 'Client'},
'address': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'bank_account': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'bank_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'bank_bik': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'bank_korr_account': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'bank_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'clients'", 'to': u"orm['customer.UserProfile']"}),
'contact_email': ('django.db.models.fields.EmailField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_other': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'contact_phone': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_skype': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'inn': ('django.db.models.fields.CharField', [], {'max_length': '12'}),
'kpp': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '9', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256', 'db_index': 'True'}),
'ogrn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '15'}),
'okpo': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
u'customer.license': {
'Meta': {'object_name': 'License'},
'company': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'licenses'", 'to': u"orm['customer.UserProfile']"}),
'date_from': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'date_to': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'order_date': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'paid_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'pay_sum': ('django.db.models.fields.IntegerField', [], {}),
'payform': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'status': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'term': ('django.db.models.fields.IntegerField', [], {})
},
u'customer.licenseprice': {
'Meta': {'object_name': 'LicensePrice'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'price': ('django.db.models.fields.IntegerField', [], {}),
'term': ('django.db.models.fields.IntegerField', [], {})
},
u'customer.userprofile': {
'Meta': {'object_name': 'UserProfile'},
'active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256'}),
'boss_midname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_sign': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'boss_surname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_title': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'confirmed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'email': ('django.db.models.fields.EmailField', [], {'default': "''", 'max_length': '75', 'blank': 'True'}),
'fax': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'fax_code': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'full_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'glavbuh_midname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
'glavbuh_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
'glavbuh_sign': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'glavbuh_surname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'inn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '12'}),
'ip_reg_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'jur_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'kpp': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '9'}),
'logo': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'na_osnovanii': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256'}),
'ogrn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '15'}),
'okpo': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'phone': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'phone_code': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'profile_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {}),
'real_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'site': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'stamp': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'svid_gos_reg': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user_session_key': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'})
},
u'customer.userprofilefilters': {
'Meta': {'object_name': 'UserProfileFilters'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'+'", 'null': 'True', 'blank': 'True', 'to': u"orm['customer.BankAccount']"}),
'company': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'profile_filters'", 'unique': 'True', 'primary_key': 'True', 'to': u"orm['customer.UserProfile']"}),
'show_address': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_bank_account': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_contact_info': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_email': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_fax': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_full_name': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_glavbuh': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_inn': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_ip_boss_fio': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_ip_reg_date': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_jur_address': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_kpp': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_logo': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_na_osnovanii': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_name': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_ogrn': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_okpo': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_org_boss_title_and_fio': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_phone': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_profile_type': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_real_address': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_site': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'show_svid_gos_reg': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
}
}
complete_apps = ['customer']

@ -7,17 +7,16 @@ from pytils import numeral
from dateutil.relativedelta import relativedelta from dateutil.relativedelta import relativedelta
from django.db import models from django.db import models
from django.conf import settings
from django.db.models import Max from django.db.models import Max
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from customer import consts, managers, utils from . import consts, managers, utils
from myauth.models import DokUser from project.myauth.models import DokUser
from commons.utils import only_numerics from project.commons.utils import only_numerics
from django.utils.deconstruct import deconstructible
# куда сохранять загруженные изображения
PROFILE_IMAGES_UPLOAD_DIR = 'customer/profile/'
PROFILE_IMAGES_UPLOAD_DIR = 'customer/profile/' # куда сохранять загруженные изображения
BOSS_SIGN_IMG_SIZE = (159, 65) BOSS_SIGN_IMG_SIZE = (159, 65)
GLAVBUH_SIGN_IMG_SIZE = (159, 65) GLAVBUH_SIGN_IMG_SIZE = (159, 65)
STAMP_IMG_SIZE = (180, 180) STAMP_IMG_SIZE = (180, 180)
@ -32,20 +31,16 @@ def get_profile(user):
return None return None
@deconstructible def upload_to(path, new_filename=None):
class UploadAndRename(object): """Куда и под каким именем сохранить загруженный файл."""
def get_upload_path(instance, filename):
def __init__(self, path, filename): filename = new_filename or filename
self.path = path
self.filename = filename
def __call__(self, instance, filename):
filename = self.filename or filename
try: try:
profile_dir = instance.get_first_user().username profile_dir = instance.get_first_user().username
except: except:
profile_dir = 'NoUser' profile_dir = 'NoUser'
return os.path.join(self.path, profile_dir, filename) return os.path.join(path, profile_dir, filename)
return get_upload_path
class UserProfile(models.Model): class UserProfile(models.Model):
@ -54,27 +49,27 @@ class UserProfile(models.Model):
# общие поля # общие поля
boss_surname = models.CharField(u'Фамилия', max_length=30, default='', boss_surname = models.CharField(u'Фамилия', max_length=30, default='',
help_text=u'Используется для строки "подпись" в документах.') help_text=u'Используется для строки "подпись" в документах.')
boss_name = models.CharField(u'Имя', max_length=30, default='') boss_name = models.CharField(u'Имя', max_length=30, default='')
boss_midname = models.CharField(u'Отчество', max_length=30, default='') boss_midname = models.CharField(u'Отчество', max_length=30, default='')
inn = models.CharField(u'ИНН', max_length=12, default='') # длина: 10 для организаций, 12 для ИП inn = models.CharField(u'ИНН', max_length=12, default='') # длина: 10 для организаций, 12 для ИП
ogrn = models.CharField(u'ОГРН/ОГРНИП', max_length=15, default='') # длина: 13 для организаций, 15 для ИП ogrn = models.CharField(u'ОГРН/ОГРНИП', max_length=15, default='') # длина: 13 для организаций, 15 для ИП
okpo = models.CharField(u'ОКПО', max_length=10, blank=True, default='') # длина: 8 для организаций, 8 или 10 для ИП okpo = models.CharField(u'ОКПО', max_length=10, blank=True, default='') # длина: 8 для организаций, 8 или 10 для ИП
glavbuh_surname = models.CharField(u'Фамилия', max_length=30, blank=True, default='', glavbuh_surname = models.CharField(u'Фамилия', max_length=30, blank=True, default='',
help_text=u'Используется для строки "подпись" в документах.') help_text=u'Используется для строки "подпись" в документах.')
glavbuh_name = models.CharField(u'Имя', max_length=30, blank=True, default='') glavbuh_name = models.CharField(u'Имя', max_length=30, blank=True, default='')
glavbuh_midname = models.CharField(u'Отчество', max_length=30, blank=True, default='') glavbuh_midname = models.CharField(u'Отчество', max_length=30, blank=True, default='')
address = models.CharField(u'Фактический адрес', max_length=256, default='', address = models.CharField(u'Фактический адрес', max_length=256, default='',
help_text=u'Будет подставляться в создаваемые счета, акты и накладные.') help_text=u'Будет подставляться в создаваемые счета, акты и накладные.')
jur_address = models.CharField(u'Юридический адрес', max_length=256, blank=True, default='', jur_address = models.CharField(u'Юридический адрес', max_length=256, blank=True, default='',
help_text=u'Как в учредительных документах.') help_text=u'Как в учредительных документах.')
real_address = models.CharField(u'Почтовый адрес', max_length=256, blank=True, default='', real_address = models.CharField(u'Почтовый адрес', max_length=256, blank=True, default='',
help_text=u'Используется только для карточки компании.') help_text=u'Используется только для карточки компании.')
phone_code = models.CharField(u'Код города', max_length=10, blank=True, default='') phone_code = models.CharField(u'Код города', max_length=10, blank=True, default='')
phone = models.CharField(u'Номер телефона', max_length=20, blank=True, default='') phone = models.CharField(u'Номер телефона', max_length=20, blank=True, default='')
@ -87,15 +82,15 @@ class UserProfile(models.Model):
# поля, только для ИП # поля, только для ИП
svid_gos_reg = models.CharField(u'Свид-во о гос. регистрации', max_length=256, blank=True, default='', svid_gos_reg = models.CharField(u'Свид-во о гос. регистрации', max_length=256, blank=True, default='',
help_text=u'Требуется для счет-фактуры.') help_text=u'Требуется для счет-фактуры.')
ip_reg_date = models.DateField(u'Дата регистрации ИП', blank=True, null=True) ip_reg_date = models.DateField(u'Дата регистрации ИП', blank=True, null=True)
# поля, только для Организации # поля, только для Организации
name = models.CharField(u'Краткое название организации', max_length=256, default='', name = models.CharField(u'Краткое название организации', max_length=256, default='',
help_text=u'Будет подставляться в создаваемые документы.') help_text=u'Будет подставляться в создаваемые документы.')
full_name = models.CharField(u'Полное название организации', max_length=256, blank=True, default='', full_name = models.CharField(u'Полное название организации', max_length=256, blank=True, default='',
help_text=u'Как в учредительных документах.') help_text=u'Как в учредительных документах.')
kpp = models.CharField(u'КПП', max_length=9, default='') kpp = models.CharField(u'КПП', max_length=9, default='')
@ -104,13 +99,13 @@ class UserProfile(models.Model):
# подписи, печать и логотип # подписи, печать и логотип
boss_sign = models.ImageField(u'Подпись руководителя', blank=True, default='', boss_sign = models.ImageField(u'Подпись руководителя', blank=True, default='',
upload_to=UploadAndRename(PROFILE_IMAGES_UPLOAD_DIR, 'boss_sign.png')) upload_to=upload_to(PROFILE_IMAGES_UPLOAD_DIR, 'boss_sign.bmp'))
glavbuh_sign = models.ImageField(u'Подпись бухгалтера', blank=True, default='', glavbuh_sign = models.ImageField(u'Подпись бухгалтера', blank=True, default='',
upload_to=UploadAndRename(PROFILE_IMAGES_UPLOAD_DIR, 'glavbuh_sign.png')) upload_to=upload_to(PROFILE_IMAGES_UPLOAD_DIR, 'glavbuh_sign.bmp'))
stamp = models.ImageField(u'Печать', blank=True, default='', stamp = models.ImageField(u'Печать', blank=True, default='',
upload_to=UploadAndRename(PROFILE_IMAGES_UPLOAD_DIR, 'stamp.png')) upload_to=upload_to(PROFILE_IMAGES_UPLOAD_DIR, 'stamp.bmp'))
logo = models.ImageField(u'Логотип', blank=True, default='', logo = models.ImageField(u'Логотип', blank=True, default='',
upload_to=UploadAndRename(PROFILE_IMAGES_UPLOAD_DIR, 'logo.png')) upload_to=upload_to(PROFILE_IMAGES_UPLOAD_DIR, 'logo.bmp'))
created_at = models.DateTimeField(u'Создан', auto_now_add=True) created_at = models.DateTimeField(u'Создан', auto_now_add=True)
updated_at = models.DateTimeField(u'Изменен', auto_now=True) updated_at = models.DateTimeField(u'Изменен', auto_now=True)
@ -118,7 +113,7 @@ class UserProfile(models.Model):
confirmed = models.BooleanField(u'Подтверждён', default=False) confirmed = models.BooleanField(u'Подтверждён', default=False)
user_session_key = models.CharField(u'Ключ сессии (служебная информация)', max_length=256, blank=True, default='', user_session_key = models.CharField(u'Ключ сессии (служебная информация)', max_length=256, blank=True, default='',
help_text=u'Руками не трогать...') help_text=u'Руками не тро...')
objects = managers.UserProfileManager() objects = managers.UserProfileManager()
@ -129,9 +124,6 @@ class UserProfile(models.Model):
def __unicode__(self): def __unicode__(self):
return u'%s, ИНН %s' % (self.get_company_name()[0:30], self.inn or u'не указан') return u'%s, ИНН %s' % (self.get_company_name()[0:30], self.inn or u'не указан')
def __str__(self):
return u'%s, ИНН %s' % (self.get_company_name()[0:30], self.inn or u'не указан')
def save(self, *args, **kwargs): def save(self, *args, **kwargs):
self.inn = only_numerics(self.inn) self.inn = only_numerics(self.inn)
self.ogrn = only_numerics(self.ogrn) self.ogrn = only_numerics(self.ogrn)
@ -139,14 +131,13 @@ class UserProfile(models.Model):
self.kpp = only_numerics(self.kpp) self.kpp = only_numerics(self.kpp)
def process_img(orig_img, size): def process_img(orig_img, size):
# TODO http://stackoverflow.com/questions/9166400/convert-rgba-png-to-rgb-with-pil
w = orig_img.width w = orig_img.width
h = orig_img.height h = orig_img.height
if w > size[0] or h > size[1]: if w > size[0] or h > size[1]:
filename = str(orig_img.path) filename = str(orig_img.path)
img = Image.open(filename) img = Image.open(filename).convert("RGB")
img.thumbnail(size, Image.ANTIALIAS) img.thumbnail(size, Image.ANTIALIAS)
img.save(filename, 'PNG') img.save(filename, 'BMP')
super(UserProfile, self).save(*args, **kwargs) super(UserProfile, self).save(*args, **kwargs)
@ -178,21 +169,20 @@ class UserProfile(models.Model):
def get_main_bank_account(self): def get_main_bank_account(self):
try: try:
bank_accounts = BankAccount.objects.filter(company=self, is_main=True).first() bank_accounts = BankAccount.objects.filter(company=self, is_main=True)[0]
return bank_accounts except:
except BankAccount.DoesNotExist:
return None return None
def get_first_user(self): def get_first_user(self):
try: try:
first_user = DokUser.objects.filter(profile=self)[0] first_user = DokUser.objects.filter(profile=self)[0]
return first_user return first_user
except DokUser.DoesNotExist: except:
return None return None
def check_main_reqs_not_filled(self): def check_main_reqs_not_filled(self):
result = self.check_name_not_filled() or self.inn == '' or self.address == '' or \ result = self.check_name_not_filled() or self.inn == '' or self.address == '' or \
self.get_boss_fio() == '' or self.get_main_bank_account() == '' self.get_boss_fio() == '' or self.get_main_bank_account() == ''
if result: if result:
return True return True
@ -263,16 +253,6 @@ class UserProfile(models.Model):
fax_code = u'(%s)' % fax_code if fax_code else fax_code fax_code = u'(%s)' % fax_code if fax_code else fax_code
return (u'%s %s' % (fax_code, self.fax,)).strip() return (u'%s %s' % (fax_code, self.fax,)).strip()
def validate_has_profile_account(self):
"""
Check there account from this profile
:return: True or False
"""
if self.bank_accounts.all():
return True
else:
return False
class BankAccount(models.Model): class BankAccount(models.Model):
"""Расчетные счета.""" """Расчетные счета."""
@ -281,6 +261,7 @@ class BankAccount(models.Model):
bik = models.CharField(u'БИК', max_length=10) bik = models.CharField(u'БИК', max_length=10)
name = models.CharField(u'Наименование банка', max_length=256) name = models.CharField(u'Наименование банка', max_length=256)
short_name = models.CharField(u'Сокращенное название банка', max_length=100, blank=True, default='') short_name = models.CharField(u'Сокращенное название банка', max_length=100, blank=True, default='')
address = models.CharField(u'Местонахождение', max_length=256, blank=True, default='') # TODO delete field?
korr_account = models.CharField(u'Корр. счет', max_length=20) korr_account = models.CharField(u'Корр. счет', max_length=20)
account = models.CharField(u'Расчетный счет', max_length=20) account = models.CharField(u'Расчетный счет', max_length=20)
@ -299,9 +280,6 @@ class BankAccount(models.Model):
def __unicode__(self): def __unicode__(self):
return (u'%s, %s' % (self.account, self.short_name[0:30] or self.name[0:30],)).strip() return (u'%s, %s' % (self.account, self.short_name[0:30] or self.name[0:30],)).strip()
def __str__(self):
return (u'%s, %s' % (self.account, self.short_name[0:30] or self.name[0:30],)).strip()
def save(self, *args, **kwargs): def save(self, *args, **kwargs):
self.bik = only_numerics(self.bik) self.bik = only_numerics(self.bik)
self.korr_account = only_numerics(self.korr_account) self.korr_account = only_numerics(self.korr_account)
@ -327,20 +305,16 @@ class Client(models.Model):
company = models.ForeignKey(UserProfile, related_name='clients') company = models.ForeignKey(UserProfile, related_name='clients')
name = models.CharField(u'Наименование', max_length=256, db_index=True) name = models.CharField(u'Наименование', max_length=256, db_index=True)
name_short_self = models.CharField(u'Короткое наименование', max_length=256, null=True, blank=True, )
name_short_dadata = models.CharField(u'Наименование из Dadata', max_length=256, null=True, blank=True, )
inn = models.CharField(u'ИНН', max_length=12) inn = models.CharField(u'ИНН', max_length=12)
kpp = models.CharField(u'КПП', max_length=9, blank=True, default='') # Организация kpp = models.CharField(u'КПП', max_length=9, blank=True, default='') # Организация
ogrn = models.CharField(u'ОГРН', max_length=15, default='') ogrn = models.CharField(u'ОГРН', max_length=15, default='')
okpo = models.CharField(u'ОКПО', max_length=10, blank=True, default='') # ИП okpo = models.CharField(u'ОКПО', max_length=10, blank=True, default='') # ИП
address = models.CharField(u'Юр. адрес', max_length=256) address = models.CharField(u'Юр. адрес', max_length=256)
# банковские реквизиты # банковские реквизиты
bank_bik = models.CharField(u'БИК', max_length=10, blank=True, default='') bank_bik = models.CharField(u'БИК', max_length=10, blank=True, default='')
bank_name = models.CharField(u'Наименование банка', max_length=256, blank=True, default='') bank_name = models.CharField(u'Наименование банка', max_length=256, blank=True, default='')
bank_short_name = models.CharField(u'Сокращенное наименование банка', max_length=256, blank=True, default='') bank_address = models.CharField(u'Местонахождение', max_length=256, blank=True, default='') # TODO delete field?
bank_korr_account = models.CharField(u'Корр. счет', max_length=20, blank=True, default='') bank_korr_account = models.CharField(u'Корр. счет', max_length=20, blank=True, default='')
bank_account = models.CharField(u'Расчетный счет', max_length=20, blank=True, default='') bank_account = models.CharField(u'Расчетный счет', max_length=20, blank=True, default='')
@ -362,16 +336,7 @@ class Client(models.Model):
ordering = ['name', '-created_at'] ordering = ['name', '-created_at']
def __unicode__(self): def __unicode__(self):
if self.name_short_self: return (u'%s, ИНН %s' % (self.name[0:30], self.inn or u'не указан',)).strip()
return (u'%s, %s' % (self.name_short_dadata, self.name_short_self)).strip()
else:
return (u'%s, ИНН %s' % (self.name, self.inn or u'не указан',)).strip()
def __str__(self):
if self.name_short_self:
return (u'%s, %s' % (self.name_short_dadata, self.name_short_self)).strip()
else:
return (u'%s, ИНН %s' % (self.name, self.inn or u'не указан',)).strip()
def save(self, *args, **kwargs): def save(self, *args, **kwargs):
self.inn = only_numerics(self.inn) self.inn = only_numerics(self.inn)
@ -406,7 +371,7 @@ class UserProfileFilters(models.Model):
show_bank_account = models.BooleanField(u'Банковские реквизиты', default=True) show_bank_account = models.BooleanField(u'Банковские реквизиты', default=True)
bank_account = models.ForeignKey(BankAccount, related_name='+', verbose_name=u'Расчетный счет', blank=True, bank_account = models.ForeignKey(BankAccount, related_name='+', verbose_name=u'Расчетный счет', blank=True,
null=True, default=None) null=True, default=None)
show_contact_info = models.BooleanField(u'Контактная информация', default=True) show_contact_info = models.BooleanField(u'Контактная информация', default=True)
show_address = models.BooleanField(u'Фактический адрес', default=True) show_address = models.BooleanField(u'Фактический адрес', default=True)
@ -437,11 +402,8 @@ class UserProfileFilters(models.Model):
verbose_name = u'Фильтры реквизитов' verbose_name = u'Фильтры реквизитов'
verbose_name_plural = u'Фильтры реквизитов' verbose_name_plural = u'Фильтры реквизитов'
def __unicode__(self): # TODO fix name def __unicode__(self):
return u'{}'.format(self.company.email) return u'%s' % self.user.email
def __str__(self): # TODO fix name
return u'{}'.format(self.company.email)
def save(self, *args, **kwargs): def save(self, *args, **kwargs):
# всегда включены # всегда включены
@ -456,12 +418,12 @@ class License(models.Model):
date_from = models.DateField(u'дата начала', null=True, blank=True) date_from = models.DateField(u'дата начала', null=True, blank=True)
date_to = models.DateField(u'дата окончания', null=True, blank=True) date_to = models.DateField(u'дата окончания', null=True, blank=True)
payform = models.IntegerField(verbose_name=u'форма оплаты', payform = models.IntegerField(verbose_name=u'форма оплаты',
choices=consts.PAYFORMS, default=0) choices=consts.PAYFORMS, default=0)
status = models.IntegerField(verbose_name=u'статус лицензии', status = models.IntegerField(verbose_name=u'статус лицензии',
choices=consts.LICENSE_STATUSES, default=0) choices=consts.LICENSE_STATUSES, default=0)
order_date = models.DateField(verbose_name=u'дата заказа', auto_now_add=True) order_date = models.DateField(verbose_name=u'дата заказа', auto_now_add=True)
paid_date = models.DateField(verbose_name=u'дата оплаты', null=True, blank=True) paid_date = models.DateField(verbose_name=u'дата оплаты', null=True, blank=True)
pay_sum = models.IntegerField(verbose_name=u'сумма оплаты') pay_sum= models.IntegerField(verbose_name=u'сумма оплаты')
deleted = models.BooleanField(u'удалено', default=False) deleted = models.BooleanField(u'удалено', default=False)
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
@ -470,21 +432,12 @@ class License(models.Model):
def __unicode__(self): def __unicode__(self):
return u'%s - %s %s (%d %s)' % ( return u'%s - %s %s (%d %s)' % (
self.company.get_company_name(), self.company.get_company_name(),
self.term, self.term,
numeral.choose_plural(self.term, u"месяц, месяца, месяцев"), numeral.choose_plural(self.term, u"месяц, месяца, месяцев"),
self.pay_sum, self.pay_sum,
numeral.choose_plural(self.pay_sum, u"рубль, рубля, рублей"), numeral.choose_plural(self.pay_sum, u"рубль, рубля, рублей"),
) )
def __str__(self):
return u'%s - %s %s (%d %s)' % (
self.company.get_company_name(),
self.term,
numeral.choose_plural(self.term, u"месяц, месяца, месяцев"),
self.pay_sum,
numeral.choose_plural(self.pay_sum, u"рубль, рубля, рублей"),
)
def save(self, *args, **kwargs): def save(self, *args, **kwargs):
if not self.__prev_date and self.paid_date: if not self.__prev_date and self.paid_date:
@ -508,13 +461,11 @@ class License(models.Model):
if self.status == 0: if self.status == 0:
if self.payform == 0: if self.payform == 0:
return u'<a href="%s">Скачать счёт</a>' % reverse('customer_license_get_doc', return u'<a href="%s">Скачать счёт</a>' % reverse('customer_license_get_doc', kwargs={'order_num': self.id})
kwargs={'order_num': self.id})
elif self.payform == 1: elif self.payform == 1:
return u'Оплатить счёт' return u'Оплатить счёт'
elif self.payform == 2: elif self.payform == 2:
return u'<a href="%s">Скачать квитанцию</a>' % reverse('customer_license_get_doc', return u'<a href="%s">Скачать квитанцию</a>' % reverse('customer_license_get_doc', kwargs={'order_num': self.id})
kwargs={'order_num': self.id})
elif self.status in [1, 2]: elif self.status in [1, 2]:
return u'История операций' return u'История операций'
else: else:
@ -525,8 +476,8 @@ class License(models.Model):
return u'45 дней' return u'45 дней'
else: else:
return u'%s %s' % (self.term, return u'%s %s' % (self.term,
numeral.choose_plural(self.term, u"месяц, месяца, месяцев"), numeral.choose_plural(self.term, u"месяц, месяца, месяцев"),
) )
def get_paid_status(self): def get_paid_status(self):
if self.status == 1: if self.status == 1:
@ -535,15 +486,15 @@ class License(models.Model):
left = relativedelta(self.date_to, datetime.today()) left = relativedelta(self.date_to, datetime.today())
if left.months: if left.months:
left_str = '%d %s %d %s' % (left.months, left_str = '%d %s %d %s' % (left.months,
numeral.choose_plural(left.months, u"месяц, месяца, месяцев"), numeral.choose_plural(left.months, u"месяц, месяца, месяцев"),
left.days, left.days,
numeral.choose_plural(left.days, u"день, дня, дней"), numeral.choose_plural(left.days, u"день, дня, дней"),
) )
else: else:
left_str = '%d %s' % ( left_str = '%d %s' % (
left.days, left.days,
numeral.choose_plural(left.days, u"день, дня, дней"), numeral.choose_plural(left.days, u"день, дня, дней"),
) )
return u'Лицензия активирована: осталось %s' % left_str return u'Лицензия активирована: осталось %s' % left_str
elif self.status == 3: elif self.status == 3:
return u'Время истекло' return u'Время истекло'
@ -553,7 +504,7 @@ class License(models.Model):
class LicensePrice(models.Model): class LicensePrice(models.Model):
term = models.IntegerField(verbose_name=u'срок лицензии', term = models.IntegerField(verbose_name=u'срок лицензии',
choices=consts.TERMS) choices=consts.TERMS)
price = models.IntegerField(verbose_name=u'сумма оплаты') price = models.IntegerField(verbose_name=u'сумма оплаты')
def __unicode__(self): def __unicode__(self):
@ -563,9 +514,3 @@ class LicensePrice(models.Model):
numeral.choose_plural(self.price, u"рубль, рубля, рублей"), numeral.choose_plural(self.price, u"рубль, рубля, рублей"),
) )
def __str__(self):
return u'%s %s (%d %s)' % (self.term,
numeral.choose_plural(self.term, u"месяц, месяца, месяцев"),
self.price,
numeral.choose_plural(self.price, u"рубль, рубля, рублей"),
)

@ -5,7 +5,7 @@ from datetime import datetime, timedelta
import traceback import traceback
from django.core.mail import mail_admins from django.core.mail import mail_admins
from dokumentor.celery import shared_task from celery import shared_task
from .models import License, UserProfile from .models import License, UserProfile
from .utils import check_one_profile from .utils import check_one_profile

@ -0,0 +1,63 @@
# -*- coding: utf-8 -*-
from django.conf.urls import *
from . import views
from .views import profile, profile_ajax, license, docs
from .views import bank_accounts,bank_accounts_ajax
from .views import clients, clients_ajax
urlpatterns = patterns('',
# личный кабинет
url(r'^$', views.customer_index, name='customer_index'),
# --- профиль
url(r'^profile/$', profile.profile_view, name='customer_profile_view'),
url(r'^profile/edit/$', profile.profile_edit, name='customer_profile_edit'),
url(r'^profile/email/$', profile.profile_email, name='customer_profile_email'),
url(r'^license/$', license.order_license, name='customer_order_license'),
url(r'^delete_license/(?P<pk>\d+)/$', license.delete_license, name='customer_delete_license'),
url(r'^get_doc/(?P<order_num>\d+)/$', docs.get_doc, name='customer_license_get_doc'),
url(r'^payment/confirm/(?P<payment_id>\d+)$', license.yandex_pay, name='yamoney_confirm'),
url(r'^payment/result/$', license.payment_result, name='yamoney_result'),
url(r'^payment/success/$', license.payment_success, name='yamoney_success'),
url(r'^payment/fail/$', license.payment_fail, name='yamoney_fail'),
url(r'^license_list/$', license.license_list, name='customer_license_list'),
url(r'^paid_list/$', license.paid_list, name='customer_paid_list'),
# --- профиль AJAX
url(r'^profile/filters/edit/ajax/$', profile_ajax.profile_filters_edit_ajax, name='customer_profile_filters_edit_ajax'),
url(r'^profile/email/ajax/$', profile_ajax.profile_email_ajax, name='customer_profile_email_ajax'),
# --- расчетные счета
url(r'^bank-accounts/$', bank_accounts.bank_accounts_list, name='customer_bank_accounts_list'),
url(r'^bank-accounts/page/(?P<page_num>[0-9]+)/$', bank_accounts.bank_accounts_list, name='customer_bank_accounts_list'),
url(r'^bank-accounts/add/$', bank_accounts.bank_accounts_add, name='customer_bank_accounts_add'),
url(r'^bank-accounts/(?P<id>\d+)/edit/$', bank_accounts.bank_accounts_edit, name='customer_bank_accounts_edit'),
url(r'^bank-accounts/(?P<id>\d+)/delete/$', bank_accounts.bank_accounts_delete, name='customer_bank_accounts_delete'),
# --- расчетные счета AJAX
url(r'^bank-accounts/ajax/$', bank_accounts_ajax.bank_accounts_list_ajax, name='customer_bank_accounts_list_ajax'),
url(r'^bank-accounts/(?P<id>\d+)/get/ajax/$', bank_accounts_ajax.bank_accounts_get_ajax,
name='customer_bank_accounts_get_ajax'),
url(r'^bank-accounts/add/ajax/$', bank_accounts_ajax.bank_accounts_add_ajax, name='customer_bank_accounts_add_ajax'),
url(r'^bank-accounts/(?P<id>\d+)/edit/ajax/$', bank_accounts_ajax.bank_accounts_edit_ajax,
name='customer_bank_accounts_edit_ajax'),
url(r'^bank-accounts/(?P<id>\d+)/delete/ajax/$', bank_accounts_ajax.bank_accounts_delete_ajax,
name='customer_bank_accounts_delete_ajax'),
# --- контрагенты
url(r'^clients/$', clients.clients_list, name='customer_clients_list'),
url(r'^clients/page/(?P<page_num>[0-9]+)/$', clients.clients_list, name='customer_clients_list'),
url(r'^clients/add/$', clients.clients_add, name='customer_clients_add'),
url(r'^clients/(?P<id>\d+)/edit/$', clients.clients_edit, name='customer_clients_edit'),
url(r'^clients/(?P<id>\d+)/delete/$', clients.clients_delete, name='customer_clients_delete'),
# --- контрагенты AJAX
url(r'^clients/(?P<id>\d+)/get/ajax/$', clients_ajax.clients_get_ajax, name='customer_clients_get_ajax'),
url(r'^clients/add/ajax/$', clients_ajax.clients_add_ajax, name='customer_clients_add_ajax'),
url(r'^clients/(?P<id>\d+)/edit/ajax/$', clients_ajax.clients_edit_ajax, name='customer_clients_edit_ajax'),
url(r'^clients/(?P<id>\d+)/delete/ajax/$', clients_ajax.clients_delete_ajax, name='customer_clients_delete_ajax'),
url(r'^tmp_upload/ajax/$', profile.tmp_upload, name='upload_tmp_file'),
)

@ -5,6 +5,7 @@ from django.conf import settings
from django.core.mail import EmailMessage from django.core.mail import EmailMessage
from django.template.loader import render_to_string from django.template.loader import render_to_string
SUPPORT_EMAIL = getattr(settings, 'SUPPORT_EMAIL') SUPPORT_EMAIL = getattr(settings, 'SUPPORT_EMAIL')

@ -4,7 +4,7 @@ from django.core.urlresolvers import reverse
from django.views.decorators.csrf import csrf_protect from django.views.decorators.csrf import csrf_protect
from django.contrib.auth.decorators import login_required from django.contrib.auth.decorators import login_required
from commons.paginator import pagination, save_per_page_value from project.commons.paginator import pagination, save_per_page_value
from .. import models, forms from .. import models, forms
from ..decorators import license_required from ..decorators import license_required
@ -98,7 +98,7 @@ def bank_accounts_delete(request, id):
"""Удалить расчетный счет.""" """Удалить расчетный счет."""
raise_if_no_profile(request) raise_if_no_profile(request)
template_name = 'customer/bank_accounts/delete.html' template_name='customer/bank_accounts/delete.html'
success_url = 'customer_bank_accounts_list' success_url = 'customer_bank_accounts_list'
referer = request.POST.get('referer') referer = request.POST.get('referer')

@ -8,7 +8,7 @@ from django.views.decorators.csrf import csrf_protect
from django.contrib.auth.decorators import login_required from django.contrib.auth.decorators import login_required
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from commons.utils import dthandler from project.commons.utils import dthandler
from .. import models, forms from .. import models, forms
from ..decorators import license_required from ..decorators import license_required
@ -23,15 +23,15 @@ def bank_accounts_list_ajax(request):
raise_if_no_profile(request) raise_if_no_profile(request)
fields_list = ['pk', 'bik', 'name', 'korr_account', 'account', 'is_main'] fields_list = ['pk', 'bik', 'name', 'address', 'korr_account', 'account', 'is_main',]
accounts = models.BankAccount.objects.get_all(company=request.user.profile).values(*fields_list) accounts = models.BankAccount.objects.get_all(company=request.user.profile).values(*fields_list)
for a in accounts: for a in accounts:
a['edit_url'] = reverse('customer_bank_accounts_edit', kwargs={'id': a['pk']}) a['edit_url'] = reverse('customer_bank_accounts_edit', kwargs={'id': a['pk'],})
a['delete_url'] = reverse('customer_bank_accounts_delete', kwargs={'id': a['pk']}) a['delete_url'] = reverse('customer_bank_accounts_delete', kwargs={'id': a['pk'],})
data = json.dumps(list(accounts), default=dthandler) data = json.dumps(list(accounts), default=dthandler)
return HttpResponse(data, content_type='application/json') return HttpResponse(data, mimetype='application/json')
@login_required @login_required
@ -50,11 +50,10 @@ def bank_accounts_get_ajax(request, id):
except AttributeError: except AttributeError:
fields_list = [] fields_list = []
account = get_object_or_404(models.BankAccount.objects.values(*fields_list), account = get_object_or_404(models.BankAccount.objects.values(*fields_list), pk=id, company=request.user.profile)
pk=id, company=request.user.profile)
data = json.dumps(account, default=dthandler) data = json.dumps(account, default=dthandler)
return HttpResponse(data, content_type='application/json') return HttpResponse(data, mimetype='application/json')
@login_required @login_required
@ -84,7 +83,7 @@ def bank_accounts_add_ajax(request):
'field_errors': form.errors, # ошибки полей 'field_errors': form.errors, # ошибки полей
'form_errors': non_field_errors, # ошибки формы 'form_errors': non_field_errors, # ошибки формы
} }
return HttpResponse(json.dumps(data), content_type='application/json') return HttpResponse(json.dumps(data), mimetype='application/json')
@login_required @login_required
@ -114,7 +113,7 @@ def bank_accounts_edit_ajax(request, id):
'field_errors': form.errors, # ошибки полей 'field_errors': form.errors, # ошибки полей
'form_errors': non_field_errors, # ошибки формы 'form_errors': non_field_errors, # ошибки формы
} }
return HttpResponse(json.dumps(data), content_type='application/json') return HttpResponse(json.dumps(data), mimetype='application/json')
@login_required @login_required
@ -135,4 +134,4 @@ def bank_accounts_delete_ajax(request, id):
'success': True, 'success': True,
'message': {'title': 'Инфо', 'msg': 'Расчётный счёт удалён.',}, 'message': {'title': 'Инфо', 'msg': 'Расчётный счёт удалён.',},
} }
return HttpResponse(json.dumps(data), content_type='application/json') return HttpResponse(json.dumps(data), mimetype='application/json')

@ -3,12 +3,11 @@ from django.shortcuts import render, redirect, get_object_or_404
from django.views.decorators.csrf import csrf_protect from django.views.decorators.csrf import csrf_protect
from django.contrib.auth.decorators import login_required from django.contrib.auth.decorators import login_required
from commons.paginator import pagination, save_per_page_value from project.commons.paginator import pagination, save_per_page_value
from customer import models, forms from .. import models, forms
from customer.decorators import license_required from ..decorators import license_required
from customer.utils import raise_if_no_profile from ..utils import raise_if_no_profile
from django.conf import settings
@login_required @login_required
@ -19,20 +18,17 @@ def clients_list(request, page_num=None):
raise_if_no_profile(request) raise_if_no_profile(request)
template_name = 'customer/clients/list.html' template_name='customer/clients/list.html'
client_list = models.Client.objects.filter(company=request.user.profile).\ client_list = models.Client.objects.filter(company=request.user.profile).order_by('name', '-created_at')
order_by('name', '-created_at')
page, pagination_form = pagination(request, client_list, page_num) page, pagination_form = pagination(request, client_list, page_num)
client_form = forms.ClientForm() client_form = forms.ClientForm()
dadata_api_key = settings.DADATA_API_KEY
dictionary = { dictionary = {
'page': page, 'page': page,
'pagination_form': pagination_form, 'pagination_form': pagination_form,
'client_form': client_form, 'client_form': client_form,
'dadata_api_key': dadata_api_key
} }
return render(request, template_name, dictionary) return render(request, template_name, dictionary)
@ -44,7 +40,7 @@ def clients_add(request):
"""Добавить контрагента.""" """Добавить контрагента."""
raise_if_no_profile(request) raise_if_no_profile(request)
template_name = 'customer/clients/add.html' template_name='customer/clients/add.html'
success_url = 'customer_clients_list' success_url = 'customer_clients_list'
form_class = forms.ClientForm form_class = forms.ClientForm
@ -62,7 +58,7 @@ def clients_add(request):
else: else:
form = form_class() form = form_class()
return render(request, template_name, {'form': form}) return render(request, template_name, {'form': form,})
@login_required @login_required
@ -72,7 +68,7 @@ def clients_edit(request, id):
"""Редактировать контрагента.""" """Редактировать контрагента."""
raise_if_no_profile(request) raise_if_no_profile(request)
template_name = 'customer/clients/edit.html' template_name='customer/clients/edit.html'
success_url = 'customer_clients_list' success_url = 'customer_clients_list'
if request.method == 'POST' and '_cancel' in request.POST: if request.method == 'POST' and '_cancel' in request.POST:
@ -104,7 +100,7 @@ def clients_delete(request, id):
"""Удалить контрагента.""" """Удалить контрагента."""
raise_if_no_profile(request) raise_if_no_profile(request)
template_name = 'customer/clients/delete.html' template_name='customer/clients/delete.html'
success_url = 'customer_clients_list' success_url = 'customer_clients_list'
if request.method == 'POST' and '_cancel' in request.POST: if request.method == 'POST' and '_cancel' in request.POST:
@ -117,4 +113,4 @@ def clients_delete(request, id):
# TODO обработать ошибки удаления # TODO обработать ошибки удаления
return redirect(success_url) return redirect(success_url)
return render(request, template_name, {'client': client}) return render(request, template_name, {'client': client,})

@ -9,9 +9,10 @@ from django.views.decorators.csrf import csrf_protect
from django.contrib.auth.decorators import login_required from django.contrib.auth.decorators import login_required
from django.template.loader import render_to_string from django.template.loader import render_to_string
from customer import models, forms from .. import models, forms
from docs.models import Invoice, Faktura, AktRabot, AktSverki, Nakladn, Platejka, Dover from ...docs.models import Invoice, Faktura, AktRabot, AktSverki, Nakladn, Platejka, Dover
from customer.utils import raise_if_no_profile from ..decorators import license_required
from ..utils import raise_if_no_profile
@login_required @login_required
@ -30,10 +31,9 @@ def clients_get_ajax(request, id):
except AttributeError: except AttributeError:
fields_list = [] fields_list = []
client = get_object_or_404(models.Client.objects.values(*fields_list), pk=id, client = get_object_or_404(models.Client.objects.values(*fields_list), pk=id, company=request.user.profile)
company=request.user.profile)
return HttpResponse(json.dumps(client), content_type='application/json') return HttpResponse(json.dumps(client), mimetype='application/json')
@login_required @login_required
@ -46,25 +46,22 @@ def clients_add_ajax(request):
raise_if_no_profile(request) raise_if_no_profile(request)
form = forms.ClientForm(request.POST, request=request) form_class = forms.ClientForm
new_client_id = None
new_client_str = None new_client_str = None
form = form_class(data=request.POST)
new_client_id = None new_client_id = None
html = '' html = ''
if form.is_valid(): if form.is_valid():
new_client = form.save(commit=False) new_client = form.save(commit=False)
new_client.company = request.user.profile new_client.company = request.user.profile
# TODO : to common function with __str__ new_client_str = new_client.name
if new_client.name_short_dadata:
new_client_str = '{}, {}'.format(new_client.name_short_dadata,
new_client.name_short_self)
else:
new_client_str = '{}, ИНН {}'.format(new_client.name, new_client.inn or 'не указан')
new_client.save() new_client.save()
new_client_id = new_client.id new_client_id = new_client.id
# import ipdb;ipdb.set_trace()
html = render_to_string('customer/clients/list_item.html', html = render_to_string('customer/clients/list_item.html',
{'obj': new_client}, RequestContext(request)) {'obj': new_client}, RequestContext(request))
non_field_errors = form.non_field_errors() non_field_errors = form.non_field_errors()
if not form.is_valid(): if not form.is_valid():
@ -72,15 +69,16 @@ def clients_add_ajax(request):
data = { data = {
'success': form.is_valid(), 'success': form.is_valid(),
'field_errors': form.errors, 'field_errors': form.errors, # ошибки полей
'form_errors': non_field_errors, 'form_errors': non_field_errors, # ошибки формы
#'reload': form.is_valid() and 'reload_on_success' in request.GET
'reload': False, 'reload': False,
'id': new_client_id, 'id': new_client_id,
'name': new_client_str, 'name': new_client_str,
'action': 'client-add', 'action': 'client-add',
'row_html': html, 'row_html': html,
} }
return HttpResponse(json.dumps(data), content_type='application/json') return HttpResponse(json.dumps(data), mimetype='application/json')
@login_required @login_required
@ -93,23 +91,24 @@ def clients_edit_ajax(request, id):
raise_if_no_profile(request) raise_if_no_profile(request)
client = get_object_or_404(models.Client, pk=id, company=request.user.profile) form_class = forms.ClientForm
form = forms.ClientForm(request.POST, request=request, instance=client) client = get_object_or_404(models.Client, pk=id, company=request.user.profile)
form = form_class(data=request.POST, instance=client)
if form.is_valid(): if form.is_valid():
client = form.save() client = form.save()
non_field_errors = form.non_field_errors() non_field_errors = form.non_field_errors()
html = render_to_string('customer/clients/list_item.html', html = render_to_string('customer/clients/list_item.html',
{'obj': client}, RequestContext(request)) {'obj': client}, RequestContext(request))
if not form.is_valid(): if not form.is_valid():
non_field_errors.append(u'Заполните/исправьте выделенные поля.') non_field_errors.append(u'Заполните/исправьте выделенные поля.')
data = { data = {
'success': form.is_valid(), 'success': form.is_valid(),
'field_errors': form.errors, 'field_errors': form.errors, # ошибки полей
'form_errors': non_field_errors, 'form_errors': non_field_errors, # ошибки формы
'reload': False, 'reload': False,
'id': client.id, 'id': client.id,
'name': client.name, 'name': client.name,
@ -118,7 +117,7 @@ def clients_edit_ajax(request, id):
'action': 'client-edit', 'action': 'client-edit',
'row_html': html, 'row_html': html,
} }
return HttpResponse(json.dumps(data), content_type='application/json') return HttpResponse(json.dumps(data), mimetype='application/json')
@login_required @login_required
@ -134,12 +133,12 @@ def clients_delete_ajax(request, id):
client = get_object_or_404(models.Client, pk=id, company=request.user.profile) client = get_object_or_404(models.Client, pk=id, company=request.user.profile)
client_docs = [] client_docs = []
doc_list = [(Invoice, u'счета'), (Faktura, u'счета-фактуры'), (Nakladn, u'накладные'), doc_list = [(Invoice, u'счета'), (Faktura, u'счета-фактуры'), (Nakladn, u'накладные'),
(AktRabot, u'акты выполненных работ'), (Platejka, u'платёжные поручения'), (AktRabot, u'акты выполненных работ'), (Platejka, u'платёжные поручения'),
(Dover, u'доверенности'), (AktSverki, u'акты сверки')] (Dover, u'доверенности'), (AktSverki, u'акты сверки')]
for doc in doc_list: for doc in doc_list:
docs = doc[0].objects.filter(client=client) docs = doc[0].objects.filter(client=client)
if docs: if docs:
client_docs.append(doc[1]) client_docs.append(doc[1])
if not client_docs: if not client_docs:
client.delete() client.delete()
@ -148,9 +147,7 @@ def clients_delete_ajax(request, id):
del_id = id del_id = id
else: else:
success = True success = True
message = {'title': u'Инфо', message = {'title': u'Инфо', 'msg': u'Контрагент не удалён. Есть выписанные документы: %s.' % ','.join(client_docs)}
'msg': u'Контрагент не удалён. Есть выписанные документы: %s.' % ','.join(
client_docs)}
del_id = None del_id = None
data = { data = {
@ -160,4 +157,4 @@ def clients_delete_ajax(request, id):
'action': 'client-delete', 'action': 'client-delete',
'id': del_id, 'id': del_id,
} }
return HttpResponse(json.dumps(data), content_type='application/json') return HttpResponse(json.dumps(data), mimetype='application/json')

@ -3,18 +3,18 @@ import os
import re import re
from django.conf import settings from django.conf import settings
from django.http import Http404, HttpResponseForbidden, HttpResponse from django.http import Http404, HttpResponseRedirect, HttpResponseForbidden, HttpResponse
from xlwt import easyxf from xlwt import easyxf
from xlrd import open_workbook from xlrd import open_workbook
from xlutils.copy import copy from xlutils.copy import copy
from pytils.numeral import rubles from pytils.numeral import rubles
from customer.models import License from ..models import License
from customer.utils import raise_if_no_profile from ..utils import raise_if_no_profile
XLS_ROOT = os.path.join(settings.TEMPLATES[0]['DIRS'][0], 'xls') XLS_ROOT = os.path.join(settings.TEMPLATE_DIRS[0], 'xls')
def get_doc(request, order_num=None): def get_doc(request, order_num=None):

@ -14,10 +14,10 @@ from django.views.decorators.csrf import csrf_protect
from yandex_money.models import Payment from yandex_money.models import Payment
from customer.models import License, LicensePrice from ..models import License, LicensePrice
from customer.consts import PAYFORMS from ..consts import PAYFORMS
from customer.forms import LicenseForm, YaForm from ..forms import LicenseForm, YaForm
from customer.utils import raise_if_no_profile from ..utils import raise_if_no_profile
@login_required @login_required
@ -115,7 +115,7 @@ def delete_license(request, pk):
dictionary = {'res': 'fail'} dictionary = {'res': 'fail'}
data = json.dumps(dictionary) data = json.dumps(dictionary)
return HttpResponse(data, content_type='application/json') return HttpResponse(data, mimetype='application/json')
@csrf_exempt @csrf_exempt

@ -4,7 +4,7 @@ import json
import tempfile import tempfile
from email.header import Header from email.header import Header
from django.shortcuts import render, redirect from django.shortcuts import render, redirect, get_object_or_404
from django.core.files import File from django.core.files import File
from django.views.decorators.csrf import csrf_protect from django.views.decorators.csrf import csrf_protect
from django.contrib.auth.decorators import login_required from django.contrib.auth.decorators import login_required
@ -14,12 +14,15 @@ from django.utils.encoding import smart_str
from django.conf import settings from django.conf import settings
from django.http import Http404, HttpResponse from django.http import Http404, HttpResponse
# from sorl.thumbnail import get_thumbnail
from easy_thumbnails.files import get_thumbnailer from easy_thumbnails.files import get_thumbnailer
from commons.pdf_tools import render_pdf_to_string, pdf_to_response from project.commons.pdf_tools import render_pdf_to_string, pdf_to_response
from .. import models, forms
from ..decorators import license_required
from ..utils import raise_if_no_profile
from customer import models, forms
from customer.utils import raise_if_no_profile
PDF_PROFILE_NAME = u'Реквизиты.pdf' PDF_PROFILE_NAME = u'Реквизиты.pdf'
SUPPORT_EMAIL = getattr(settings, 'SUPPORT_EMAIL', '') SUPPORT_EMAIL = getattr(settings, 'SUPPORT_EMAIL', '')
@ -48,12 +51,12 @@ def profile_view(request):
filters = filters_form.save() filters = filters_form.save()
if 'download-pdf' in request.POST: if 'download-pdf' in request.POST:
# return _profile_get_pdf(request, profile, filters.bank_account, filters) # для отладки #return _profile_get_pdf(request, profile, filters.bank_account, filters) # для отладки
return profile_as_pdf(request, profile, filters.bank_account, filters) return profile_as_pdf(request, profile, filters.bank_account, filters)
elif 'email-pdf' in request.POST: elif 'email-pdf' in request.POST:
return redirect('customer_profile_email') return redirect('customer_profile_email')
return redirect('customer_profile_view') # редирект на себя, чтобы не сабмитили форму по F5 return redirect('customer_profile_view') # редирект на себя, чтобы не сабмитили форму по F5
else: else:
filters_form = filters_form_class(instance=filters, label_suffix='', profile=profile, accounts=accounts) filters_form = filters_form_class(instance=filters, label_suffix='', profile=profile, accounts=accounts)
@ -87,22 +90,17 @@ def profile_edit(request):
if request.method == 'POST': if request.method == 'POST':
form = form_class(data=request.POST, files=request.FILES, instance=profile) form = form_class(data=request.POST, files=request.FILES, instance=profile)
if form.is_valid(): if form.is_valid():
item = form.save(commit=False) item = form.save(commit=False)
for img_url in ('tmb_logo', 'tmb_boss_sign', 'tmb_glavbuh_sign', 'tmb_stamp'): for img_url in ('tmb_logo', 'tmb_boss_sign', 'tmb_glavbuh_sign', 'tmb_stamp'):
if form.cleaned_data[img_url]: if form.cleaned_data[img_url]:
# TODO ?
chg_file = open(settings.MEDIA_ROOT + '/cache/imgs/' + \ chg_file = open(settings.MEDIA_ROOT + '/cache/imgs/' + \
form.cleaned_data[img_url], mode='rb+') form.cleaned_data[img_url])
item_attr = img_url[4:] item_attr = img_url[4:]
getattr(item, item_attr).save('%s.%s' % \ getattr(item, item_attr).save('%s.%s' % \
(item_attr, form.cleaned_data[img_url].split('.')[-1]), (item_attr, form.cleaned_data[img_url].split('.')[-1]),
File(chg_file)) File(chg_file))
chg_file.close() chg_file.close()
#
elif form.cleaned_data: elif form.cleaned_data:
pass pass
item.save() item.save()
@ -115,28 +113,26 @@ def profile_edit(request):
'profile': profile, 'profile': profile,
'accounts': accounts, 'accounts': accounts,
'bank_account_form': bank_account_form, 'bank_account_form': bank_account_form,
'dadata_api_key': settings.DADATA_API_KEY
} }
return render(request, template_name, dictionary) return render(request, template_name, dictionary)
def tmp_upload(request): def tmp_upload(request):
key = '' SIZES = {'id_boss_sign': (170, 65), 'id_glavbuh_sign': (170, 65), 'id_stamp': (170, 170), 'id_logo': (170, 170)}
SIZES = {'id_boss_sign': (170, 65),
'id_glavbuh_sign': (170, 65),
'id_stamp': (170, 170),
'id_logo': (170, 170)}
elm_id = request.REQUEST['elm_id'] elm_id = request.REQUEST['elm_id']
for k in request.FILES.keys(): file_ = request.FILES.values()[0]
key = k
file_ = request.FILES.get(key)
if not file_.content_type.startswith('image'): if not file_.content_type.startswith('image'):
return {'res': 'bad'} return {'res': 'bad'}
if not os.path.exists(settings.MEDIA_ROOT + '/cache/imgs/'):
os.makedirs(settings.MEDIA_ROOT + '/cache/imgs/') if not os.path.exists(settings.MEDIA_ROOT +
tmp_dir = tempfile.mkdtemp('img_tmp', settings.MEDIA_ROOT + '/cache/imgs/') '/cache/imgs/'):
os.chmod(tmp_dir, 755) os.makedirs(settings.MEDIA_ROOT +
open(tmp_dir + '/' + file_.name, "wb+").write(file_.read()) '/cache/imgs/')
tmp_dir = tempfile.mkdtemp('img_tmp', settings.MEDIA_ROOT +
'/cache/imgs/')
os.chmod(tmp_dir, 0755)
open(tmp_dir + '/' + file_.name, "w").write(file_.read())
tmp_url_partial = os.path.basename(tmp_dir) + '/' + file_.name tmp_url_partial = os.path.basename(tmp_dir) + '/' + file_.name
thumbnailer = get_thumbnailer(tmp_dir + '/' + file_.name) thumbnailer = get_thumbnailer(tmp_dir + '/' + file_.name)
# im = get_thumbnail(tmp_dir + '/' + file_.name, SIZES[elm_id], quality=75) # im = get_thumbnail(tmp_dir + '/' + file_.name, SIZES[elm_id], quality=75)
@ -145,10 +141,9 @@ def tmp_upload(request):
im_url = os.path.join(settings.MEDIA_URL, os.path.relpath(im.url, settings.MEDIA_ROOT)) im_url = os.path.join(settings.MEDIA_URL, os.path.relpath(im.url, settings.MEDIA_ROOT))
data = {'res': 'ok', 'pic': im_url, 'full_pic': tmp_url_partial} data = {'res': 'ok', 'pic': im_url, 'full_pic': tmp_url_partial}
data.update(request.REQUEST) data.update(request.REQUEST)
return HttpResponse(json.dumps(data), content_type='application/json') return HttpResponse(json.dumps(data), mimetype='application/json')
# TODO ?
def del_tmp_photo(request, article_pk): def del_tmp_photo(request, article_pk):
# wedding, wedding_guests = get_wedding_n_guests(request) # wedding, wedding_guests = get_wedding_n_guests(request)
try: try:
@ -159,7 +154,6 @@ def del_tmp_photo(request, article_pk):
return {'res': 'bad'} return {'res': 'bad'}
return {'res': 'ok'} return {'res': 'ok'}
#
@login_required @login_required
@ -190,7 +184,7 @@ def _send_profile_email(subject, to, body, pdf_content):
subject=subject, subject=subject,
to=(to,), to=(to,),
body=email_body, body=email_body,
attachments=[(smart_str(Header(PDF_PROFILE_NAME, 'cp1251')), pdf_content, 'application/pdf'), ] attachments = [(smart_str(Header(PDF_PROFILE_NAME, 'cp1251')), pdf_content, 'application/pdf'),]
) )
return email.send() return email.send()
@ -218,20 +212,21 @@ def profile_email(request):
form = form_class(data=request.POST) form = form_class(data=request.POST)
if form.is_valid(): if form.is_valid():
_send_profile_email( _send_profile_email(
subject=u'Реквизиты %s' % profile.get_company_name(), subject = u'Реквизиты %s' % profile.get_company_name(),
to=form.cleaned_data['to'], to = form.cleaned_data['to'],
body=form.cleaned_data['body'], body = form.cleaned_data['body'],
pdf_content=_profile_get_pdf(request, profile, filters.bank_account, filters) pdf_content = _profile_get_pdf(request, profile, filters.bank_account, filters)
) )
return redirect(success_url) return redirect(success_url)
else: else:
form = form_class() form = form_class()
return render(request, template_name, {'form': form, 'profile': profile, }) return render(request, template_name, {'form': form, 'profile': profile,})
# @login_required #@login_required
# @csrf_protect #@csrf_protect
# def profile_settings(request): #def profile_settings(request):
# """Редактировать настройки пользователя.""" # """Редактировать настройки пользователя."""
# template_name='customer/profile/settings.html' # template_name='customer/profile/settings.html'
# #

@ -7,11 +7,11 @@ from django.views.decorators.http import require_POST
from django.views.decorators.csrf import csrf_protect from django.views.decorators.csrf import csrf_protect
from django.contrib.auth.decorators import login_required from django.contrib.auth.decorators import login_required
from customer import models, forms from .. import models, forms
from customer.decorators import license_required from ..decorators import license_required
from customer.views.profile import _send_profile_email, _profile_get_pdf from .profile import _send_profile_email, _profile_get_pdf
from customer.utils import raise_if_no_profile from ..utils import raise_if_no_profile
@login_required @login_required
@ -41,10 +41,10 @@ def profile_filters_edit_ajax(request):
data = { data = {
'success': form.is_valid(), 'success': form.is_valid(),
'field_errors': form.errors, # ошибки полей 'field_errors': form.errors, # ошибки полей
'form_errors': non_field_errors, # ошибки формы 'form_errors': non_field_errors, # ошибки формы
} }
return HttpResponse(json.dumps(data), content_type='application/json') return HttpResponse(json.dumps(data), mimetype='application/json')
@login_required @login_required
@ -78,7 +78,7 @@ def profile_email_ajax(request):
data = { data = {
'success': form.is_valid(), 'success': form.is_valid(),
'field_errors': form.errors, # ошибки полей 'field_errors': form.errors, # ошибки полей
'form_errors': non_field_errors, # ошибки формы 'form_errors': non_field_errors, # ошибки формы
} }
return HttpResponse(json.dumps(data), content_type='application/json') return HttpResponse(json.dumps(data), mimetype='application/json')

@ -1,7 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from django.contrib import admin from django.contrib import admin
from docs import models import models
#class InvoiceItemInline(admin.TabularInline): #class InvoiceItemInline(admin.TabularInline):

@ -2,15 +2,16 @@
import os import os
import re import re
import math import math
from io import BytesIO from StringIO import StringIO
import xlrd import xlrd
import xlwt import xlwt
from django.conf import settings from django.conf import settings
from django.template import Template, RequestContext from django.template import (Template, RequestContext, BLOCK_TAG_START, BLOCK_TAG_END,
from django.template.base import BLOCK_TAG_START, BLOCK_TAG_END, VARIABLE_TAG_START, VARIABLE_TAG_END VARIABLE_TAG_START, VARIABLE_TAG_END)
from commons.xls import (get_xlwt_style_list, copy_cells, width_cols, horz_page_break, mm_to_twips, from project.commons.xls import (get_xlwt_style_list, copy_cells, width_cols, horz_page_break, mm_to_twips,
sum_src_heights, sum_dst_heights) sum_src_heights, sum_dst_heights)
@ -30,7 +31,7 @@ def render_xls_to_string(request, xls_template, dictionary=None):
"""Создает по шаблону новую книгу Excel. """Создает по шаблону новую книгу Excel.
Возвращает строку, в которой сожержится сгенерированный Excel. Возвращает строку, в которой сожержится сгенерированный Excel.
""" """
src_xls = os.path.join(XLS_ROOT, xls_template) # файл шаблона src_xls = os.path.join(XLS_ROOT, xls_template) # файл шаблона
src_book = None src_book = None
try: try:
# откуда # откуда
@ -48,14 +49,14 @@ def render_xls_to_string(request, xls_template, dictionary=None):
# настройки # настройки
xls_settings = get_settings(src_book) xls_settings = get_settings(src_book)
apply_page_settings(dst_sheet, xls_settings) apply_page_settings(dst_sheet, xls_settings)
# import ipdb;ipdb.set_trace()
# заполнить данными # заполнить данными
fill_xls(request, dictionary, src_sheet, dst_sheet, style_list, fill_xls(request, dictionary, src_sheet, dst_sheet, style_list,
xls_settings) xls_settings)
# закрыть исходную книгу и сохранить созданную # закрыть исходную книгу и сохранить созданную
src_book.release_resources() src_book.release_resources()
f = BytesIO() f=StringIO()
dst_book.save(f) dst_book.save(f)
xls_content = f.getvalue() xls_content = f.getvalue()
f.close() f.close()
@ -100,10 +101,10 @@ def fill_xls(request, dictionary, src_sheet, dst_sheet, style_list, xls_settings
row_to = row_to or src_sheet.nrows-1 row_to = row_to or src_sheet.nrows-1
col_to = col_to or src_sheet.ncols-1 col_to = col_to or src_sheet.ncols-1
for row in range(row_from, row_to+1): for row in xrange(row_from, row_to+1):
cmd_fix_height = [] cmd_fix_height = []
for col in range(col_from, col_to+1): for col in xrange(col_from, col_to+1):
cell = src_sheet.cell(row, col) cell = src_sheet.cell(row, col)
cell_value = new_value = cell.value cell_value = new_value = cell.value
@ -112,7 +113,7 @@ def fill_xls(request, dictionary, src_sheet, dst_sheet, style_list, xls_settings
cmd_draw_thin_bottom_border = False cmd_draw_thin_bottom_border = False
# если в ячейке не строка - пропускаем # если в ячейке не строка - пропускаем
if not isinstance(new_value, str): if not isinstance(new_value, unicode):
continue continue
# поискать шаблонные теги и переменные в ячейке # поискать шаблонные теги и переменные в ячейке
@ -145,7 +146,7 @@ def fill_xls(request, dictionary, src_sheet, dst_sheet, style_list, xls_settings
new_value = new_value.replace(u'@@FIX_HEIGHT@@', u'') new_value = new_value.replace(u'@@FIX_HEIGHT@@', u'')
cmd_fix_height.append({ cmd_fix_height.append({
'col': col, 'col': col,
'value': new_value, 'value': unicode(new_value),
}) })
if new_value != cell_value: if new_value != cell_value:
@ -197,7 +198,7 @@ def fill_xls(request, dictionary, src_sheet, dst_sheet, style_list, xls_settings
for r1,r2,c1,c2 in src_sheet.merged_cells: for r1,r2,c1,c2 in src_sheet.merged_cells:
if r1 != row or c1 != fh['col']: if r1 != row or c1 != fh['col']:
continue continue
for colx in range(c1, c2): for colx in xrange(c1, c2):
width += src_sheet.computed_column_width(colx) width += src_sheet.computed_column_width(colx)
else: else:
break break
@ -396,8 +397,8 @@ def fill_xls(request, dictionary, src_sheet, dst_sheet, style_list, xls_settings
horz_page_break(dst_sheet, p.TBL_FOOTER_TO + add_offset + 1) horz_page_break(dst_sheet, p.TBL_FOOTER_TO + add_offset + 1)
parse_cells( parse_cells(
row_from=p.TBL_FOOTER_FROM, row_from = p.TBL_FOOTER_FROM,
dst_row_shift=add_offset dst_row_shift = add_offset
) )
return return
@ -406,21 +407,24 @@ def fill_xls(request, dictionary, src_sheet, dst_sheet, style_list, xls_settings
def get_settings(src_book, sheet_name=u'settings'): def get_settings(src_book, sheet_name=u'settings'):
"""Загрузить настройки с листа settings.""" """Загрузить настройки с листа settings."""
settings = {} settings = {}
# import ipdb;ipdb.set_trace()
try: try:
src_sheet = src_book.sheet_by_name(sheet_name) src_sheet = src_book.sheet_by_name(sheet_name)
except xlrd.XLRDError: except xlrd.XLRDError:
return settings return settings
for row in range(src_sheet.nrows): for row in xrange(src_sheet.nrows):
key_cell = src_sheet.cell(row, 0).value key_cell = src_sheet.cell(row, 0).value
if key_cell: if key_cell:
# import ipdb;ipdb.set_trace() key_name = unicode(key_cell).strip()
key_name = key_cell.strip()
if not key_name.startswith(u'#'): if not key_name.startswith(u'#'):
val_cell = src_sheet.cell(row, 1).value val_cell = src_sheet.cell(row, 1).value
if isinstance(val_cell, float) or isinstance(val_cell, int): if (isinstance(val_cell, unicode) or
isinstance(val_cell, str)):
settings[key_name] = unicode(val_cell)
else:
settings[key_name] = val_cell settings[key_name] = val_cell
return settings return settings

@ -1,28 +1,21 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# import autocomplete_light
import autocomplete_light import autocomplete_light
from django.db.models import Q from django.db.models import Q
from docs.models import Country, Currency, Measure from models import (Country, Currency, Measure)
from customer.models import Client from project.customer.models import Client
class AutocompleteWithEmptyWidget(autocomplete_light.AutocompleteModelBase): class AutocompleteWithEmptyWidget(autocomplete_light.AutocompleteModelBase):
""" '''Автокомплит без текста подсказки
Автокомплит без текста подсказки '''
""" autocomplete_js_attributes = {'placeholder': u''}
autocomplete_js_attributes = {'placeholder': ''}
class AutocompleteClient(autocomplete_light.AutocompleteModelBase): class AutocompleteClient(autocomplete_light.AutocompleteModelBase):
""" '''Автокомплит клиента в зависимости от юзера
Автокомплит клиента в зависимости от юзера '''
""" autocomplete_js_attributes = {'placeholder': u'Название предприятия или ИНН или ОКПО'}
attrs = {
'data-autcomplete-minimum-characters': 0,
'placeholder': 'Название из добавленных ранее',
}
search_fields = ('name', 'inn', 'okpo')
def choices_for_request(self): def choices_for_request(self):
q = self.request.GET.get('q', '') q = self.request.GET.get('q', '')
@ -37,37 +30,24 @@ class AutocompleteClient(autocomplete_light.AutocompleteModelBase):
class AutocompleteCurrency(autocomplete_light.AutocompleteModelBase): class AutocompleteCurrency(autocomplete_light.AutocompleteModelBase):
""" '''Автокомплит валют
Автокомплит валют '''
""" autocomplete_js_attributes = {'placeholder': u'Название валюты'}
attrs = {
'data-autcomplete-minimum-characters': 0,
'placeholder': 'Название валюты',
}
search_fields = ('name', '^abc_code', '^code') search_fields = ('name', '^abc_code', '^code')
class AutocompleteMeasure(autocomplete_light.AutocompleteModelTemplate): class AutocompleteMeasure(autocomplete_light.AutocompleteModelTemplate):
""" '''Автокомплит ед. измерения
Автокомплит ед. измерения '''
""" autocomplete_js_attributes = {'placeholder': u'Название ед. измерения'}
attrs = {
'data-autcomplete-minimum-characters': 0,
'placeholder': '',
}
widget_attrs = {'data-widget-maximum-values': 3}
search_fields = ('name', 'full_name', '^code') search_fields = ('name', 'full_name', '^code')
choice_template = 'autocomplete_light/docs_measure_choice.html' choice_template = 'autocomplete_light/docs_measure_choice.html'
class AutocompleteCountry(autocomplete_light.AutocompleteModelTemplate): class AutocompleteCountry(autocomplete_light.AutocompleteModelTemplate):
""" '''Автокомплит стран
Автокомплит стран '''
""" autocomplete_js_attributes = {'placeholder': u'Название страны'}
attrs = {
'data-autcomplete-minimum-characters': 0,
'placeholder': 'Название страны',
}
search_fields = ('name', 'full_name', '^code') search_fields = ('name', 'full_name', '^code')
choice_template = 'autocomplete_light/docs_country_choice.html' choice_template = 'autocomplete_light/docs_country_choice.html'

@ -3,10 +3,10 @@ import datetime
import django_filters import django_filters
from customer.models import Client from project.customer.models import Client
from docs.models import Invoice from .models import Invoice
from docs import consts from . import consts
class CustomDateRangeFilter(django_filters.DateRangeFilter): class CustomDateRangeFilter(django_filters.DateRangeFilter):
@ -16,14 +16,14 @@ class CustomDateRangeFilter(django_filters.DateRangeFilter):
self.options = options self.options = options
except KeyError: except KeyError:
pass pass
kwargs['choices'] = [(key, value[0]) for key, value in self.options.items()] kwargs['choices'] = [(key, value[0]) for key, value in self.options.iteritems()]
super(CustomDateRangeFilter, self).__init__(*args, **kwargs) super(CustomDateRangeFilter, self).__init__(*args, **kwargs)
class CustomChoiceFilter(django_filters.ChoiceFilter): class CustomChoiceFilter(django_filters.ChoiceFilter):
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
self.options = kwargs.pop('options') # обязательный параметр! self.options = kwargs.pop('options') # обязательный параметр!
kwargs['choices'] = [(key, value[0]) for key, value in self.options.items()] kwargs['choices'] = [(key, value[0]) for key, value in self.options.iteritems()]
super(CustomChoiceFilter, self).__init__(*args, **kwargs) super(CustomChoiceFilter, self).__init__(*args, **kwargs)
def filter(self, qs, value): def filter(self, qs, value):
@ -151,7 +151,7 @@ class BaseDocsFilterSet(django_filters.FilterSet):
self.filters['invoice'].extra['queryset'] = Invoice.objects.get_all(self.request.user.profile) self.filters['invoice'].extra['queryset'] = Invoice.objects.get_all(self.request.user.profile)
# сбросить у полей формы атрибут help_text # сбросить у полей формы атрибут help_text
for field in self.form.fields.values(): for field in self.form.fields.itervalues():
field.help_text = None field.help_text = None

@ -0,0 +1,9 @@
from .email import EmailForm
from .invoice import InvoiceForm, InvoiceAdminForm, InvoiceItemForm, InvoiceItemAdminForm, InvoicesListForm
from .aktrabot import AktRabotForm, AktRabotAdminForm, AktRabotItemForm, AktRabotItemAdminForm
from .aktsverki import AktSverkiForm, AktSverkiAdminForm, AktSverkiItemForm, AktSverkiItemAdminForm
from .dover import DoverForm, DoverAdminForm, DoverItemForm, DoverItemAdminForm
from .platejka import PlatejkaForm, PlatejkaAdminForm
from .nakladn import NakladnForm, NakladnAdminForm, NakladnItemForm, NakladnItemAdminForm
from .faktura import FakturaForm, FakturaAdminForm, FakturaItemForm, FakturaItemAdminForm

@ -1,7 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from django import forms from django import forms
from commons.forms import MyBaseModelForm from project.commons.forms import MyBaseModelForm
from .base_forms import BaseModelForm from .base_forms import BaseModelForm
from ..models import AktRabot, AktRabotItem from ..models import AktRabot, AktRabotItem
@ -11,11 +11,8 @@ class AktRabotForm(BaseModelForm):
"""Форма редактирования акта выполн. работ.""" """Форма редактирования акта выполн. работ."""
class Meta: class Meta:
model = AktRabot model = AktRabot
fields = ( fields = ('doc_num', 'doc_date',
'doc_num', 'bank_account', 'client', 'invoice',
'doc_date',
'client',
'invoice',
'nds_value', 'nds_value',
'doc_text', 'doc_text',
) )
@ -29,8 +26,7 @@ class AktRabotForm(BaseModelForm):
class AktRabotAdminForm(AktRabotForm): class AktRabotAdminForm(AktRabotForm):
"""Форма редактирования акта выполн. работ - для админки.""" """Форма редактирования акта выполн. работ - для админки."""
class Meta(AktRabotForm.Meta): class Meta(AktRabotForm.Meta):
# fields = None fields = None
exclude = ()
_textarea = forms.Textarea(attrs={'cols': 80, 'rows': 3}) _textarea = forms.Textarea(attrs={'cols': 80, 'rows': 3})
widgets = { widgets = {
'doc_text': _textarea, 'doc_text': _textarea,
@ -46,7 +42,6 @@ class AktRabotItemForm(MyBaseModelForm):
class Meta: class Meta:
model = AktRabotItem model = AktRabotItem
exclude = ['parent'] exclude = ['parent']
fields = '__all__'
class AktRabotItemAdminForm(AktRabotItemForm): class AktRabotItemAdminForm(AktRabotItemForm):

@ -1,7 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from django import forms from django import forms
from commons.forms import MyBaseModelForm from project.commons.forms import MyBaseModelForm
from .base_forms import BaseModelForm from .base_forms import BaseModelForm
from ..models import AktSverki, AktSverkiItem from ..models import AktSverki, AktSverkiItem
@ -40,8 +40,7 @@ class AktSverkiAdminForm(AktSverkiForm):
} }
class Meta(AktSverkiForm.Meta): class Meta(AktSverkiForm.Meta):
# fields = None fields = None
exclude = ()
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
# обязательно нужно вызывать родительский __init__ и передавать ему None вместо user - иначе глюки ! # обязательно нужно вызывать родительский __init__ и передавать ему None вместо user - иначе глюки !
@ -53,7 +52,6 @@ class AktSverkiItemForm(MyBaseModelForm):
class Meta: class Meta:
model = AktSverkiItem model = AktSverkiItem
exclude = ['parent'] exclude = ['parent']
fields = '__all__'
class AktSverkiItemAdminForm(AktSverkiItemForm): class AktSverkiItemAdminForm(AktSverkiItemForm):

@ -2,9 +2,9 @@
from django.forms import ModelChoiceField from django.forms import ModelChoiceField
import autocomplete_light import autocomplete_light
from commons.forms import MyBaseModelForm from project.commons.forms import MyBaseModelForm
from customer.models import BankAccount, Client from project.customer.models import BankAccount, Client
from docs.models import Invoice from project.docs.models import Invoice
class BaseModelForm(MyBaseModelForm): class BaseModelForm(MyBaseModelForm):
@ -18,7 +18,7 @@ class BaseModelForm(MyBaseModelForm):
# пользователя. Если же пользователь никак не был задан - селекты будут пустыми! Если в форме есть поле client, # пользователя. Если же пользователь никак не был задан - селекты будут пустыми! Если в форме есть поле client,
# то оно настраивается автоматически. # то оно настраивается автоматически.
client = ModelChoiceField(Client.objects.all(), label=u'клиент', required=True, client = ModelChoiceField(Client.objects.all(), label=u'клиент', required=True,
widget=autocomplete_light.ChoiceWidget('ACClient')) widget=autocomplete_light.ChoiceWidget('ACClient'))
adjust_client_fields = [] adjust_client_fields = []
def __init__(self, user, *args, **kwargs): def __init__(self, user, *args, **kwargs):
@ -64,7 +64,7 @@ class BaseModelForm(MyBaseModelForm):
self._adjust_clients() self._adjust_clients()
def _adjust_clients(self): def _adjust_clients(self):
# Настраивает перечисленные в self.adjust_client_fields поля на модель Client. #"""Настраивает перечисленные в self.adjust_client_fields поля на модель Client."""
if self.adjust_client_fields: if self.adjust_client_fields:
user_clients = Client.objects.filter(company=self._user.profile) user_clients = Client.objects.filter(company=self._user.profile)
for key in self.adjust_client_fields: for key in self.adjust_client_fields:

@ -1,7 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from django import forms from django import forms
from commons.forms import MyBaseModelForm from project.commons.forms import MyBaseModelForm
from .base_forms import BaseModelForm from .base_forms import BaseModelForm
from ..models import Dover, DoverItem from ..models import Dover, DoverItem
@ -34,8 +34,7 @@ class DoverForm(BaseModelForm):
class DoverAdminForm(DoverForm): class DoverAdminForm(DoverForm):
"""Форма редактирования доверенности на получение ТМЦ - для админки.""" """Форма редактирования доверенности на получение ТМЦ - для админки."""
class Meta(DoverForm.Meta): class Meta(DoverForm.Meta):
# fields = None fields = None
exclude = ()
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
# обязательно нужно вызывать родительский __init__ и передавать ему None вместо user - иначе глюки ! # обязательно нужно вызывать родительский __init__ и передавать ему None вместо user - иначе глюки !
@ -47,7 +46,6 @@ class DoverItemForm(MyBaseModelForm):
class Meta: class Meta:
model = DoverItem model = DoverItem
exclude = ['parent'] exclude = ['parent']
fields = '__all__'
class DoverItemAdminForm(DoverItemForm): class DoverItemAdminForm(DoverItemForm):

@ -3,10 +3,10 @@ from django import forms
import autocomplete_light import autocomplete_light
from commons.forms import MyBaseModelForm from project.commons.forms import MyBaseModelForm
from docs.forms.base_forms import BaseModelForm from .base_forms import BaseModelForm
from docs.models import Faktura, FakturaItem from ..models import Faktura, FakturaItem
from customer.models import Client from project.customer.models import Client
class FakturaForm(BaseModelForm): class FakturaForm(BaseModelForm):
@ -19,23 +19,13 @@ class FakturaForm(BaseModelForm):
class Meta: class Meta:
model = Faktura model = Faktura
fields = ( fields = ('doc_num', 'doc_date',
'doc_num', 'plat_doc_num', 'plat_doc_date',
'doc_date', 'fix_doc_num', 'fix_doc_date',
'plat_doc_num', 'bank_account', 'client', 'invoice',
'plat_doc_date',
'fix_doc_num',
'fix_doc_date',
'client',
'invoice',
'doc_reason', 'doc_reason',
'nds_value', 'nds_value',
'doc_text', 'doc_text', 'fixes', 'avance', 'currency', 'sender', 'receiver',
'fixes',
'avance',
'currency',
'sender',
'receiver',
) )
_radioselect = forms.RadioSelect _radioselect = forms.RadioSelect
_textarea = forms.Textarea(attrs={'cols': 80, 'rows': 3}) _textarea = forms.Textarea(attrs={'cols': 80, 'rows': 3})
@ -48,8 +38,7 @@ class FakturaForm(BaseModelForm):
class FakturaAdminForm(FakturaForm): class FakturaAdminForm(FakturaForm):
"""Форма редактирования фактуры - для админки.""" """Форма редактирования фактуры - для админки."""
class Meta(FakturaForm.Meta): class Meta(FakturaForm.Meta):
# fields = None fields = None
exclude = ()
_textarea = forms.Textarea(attrs={'cols': 80, 'rows': 3}) _textarea = forms.Textarea(attrs={'cols': 80, 'rows': 3})
widgets = { widgets = {
'doc_text': _textarea, 'doc_text': _textarea,
@ -66,7 +55,6 @@ class FakturaItemForm(MyBaseModelForm):
class Meta: class Meta:
model = FakturaItem model = FakturaItem
exclude = ['parent'] exclude = ['parent']
fields = '__all__'
class FakturaItemAdminForm(FakturaItemForm): class FakturaItemAdminForm(FakturaItemForm):

@ -1,22 +1,18 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from django import forms from django import forms
from commons.forms import MyBaseModelForm from project.commons.forms import MyBaseModelForm
from docs.forms.base_forms import BaseModelForm from .base_forms import BaseModelForm
from docs.models import Invoice, InvoiceItem from ..models import Invoice, InvoiceItem
class InvoiceForm(BaseModelForm): class InvoiceForm(BaseModelForm):
"""Форма редактирования счета.""" """Форма редактирования счета."""
class Meta: class Meta:
model = Invoice model = Invoice
fields = ( fields = ('doc_num', 'doc_date',
'doc_num', 'bank_account', 'client',
'doc_date',
'bank_account',
'client',
'nds_value', 'nds_value',
'doc_text', 'doc_text',
) )
@ -29,10 +25,8 @@ class InvoiceForm(BaseModelForm):
class InvoiceAdminForm(InvoiceForm): class InvoiceAdminForm(InvoiceForm):
"""Форма редактирования счета - для админки.""" """Форма редактирования счета - для админки."""
class Meta(InvoiceForm.Meta): class Meta(InvoiceForm.Meta):
# fields = None fields = None
exclude = ()
_textarea = forms.Textarea(attrs={'cols': 80, 'rows': 3}) _textarea = forms.Textarea(attrs={'cols': 80, 'rows': 3})
widgets = { widgets = {
'doc_text': _textarea, 'doc_text': _textarea,
@ -45,8 +39,7 @@ class InvoiceAdminForm(InvoiceForm):
class InvoicesListForm(forms.Form): class InvoicesListForm(forms.Form):
"""Форма со списком всех счетов пользователя.""" """Форма со списком всех счетов пользователя."""
invoice = forms.ModelChoiceField(queryset=Invoice.objects.get_all(None), invoice = forms.ModelChoiceField(queryset=Invoice.objects.get_all(None), empty_label=u'все счета', required=False)
empty_label=u'все счета', required=False)
def __init__(self, user, *args, **kwargs): def __init__(self, user, *args, **kwargs):
super(InvoicesListForm, self).__init__(*args, **kwargs) super(InvoicesListForm, self).__init__(*args, **kwargs)
@ -55,14 +48,12 @@ class InvoicesListForm(forms.Form):
class InvoiceItemForm(MyBaseModelForm): class InvoiceItemForm(MyBaseModelForm):
"""Форма редактирования табличной части счета.""" """Форма редактирования табличной части счета."""
class Meta: class Meta:
model = InvoiceItem model = InvoiceItem
fields = ('id', 'name', 'qty', 'units', 'price', 'total_price',) exclude = ['parent']
class InvoiceItemAdminForm(InvoiceItemForm): class InvoiceItemAdminForm(InvoiceItemForm):
"""Форма редактирования табличной части счета - для админки.""" """Форма редактирования табличной части счета - для админки."""
class Meta(InvoiceItemForm.Meta): class Meta(InvoiceItemForm.Meta):
exclude = None exclude = None

@ -1,7 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from django import forms from django import forms
from commons.forms import MyBaseModelForm from project.commons.forms import MyBaseModelForm
from .base_forms import BaseModelForm from .base_forms import BaseModelForm
from ..models import Nakladn, NakladnItem from ..models import Nakladn, NakladnItem
@ -27,8 +27,7 @@ class NakladnForm(BaseModelForm):
class NakladnAdminForm(NakladnForm): class NakladnAdminForm(NakladnForm):
"""Форма редактирования накладной - для админки.""" """Форма редактирования накладной - для админки."""
class Meta(NakladnForm.Meta): class Meta(NakladnForm.Meta):
# fields = None fields = None
exclude = ()
_textarea = forms.Textarea(attrs={'cols': 80, 'rows': 3}) _textarea = forms.Textarea(attrs={'cols': 80, 'rows': 3})
widgets = { widgets = {
'doc_text': _textarea, 'doc_text': _textarea,
@ -44,7 +43,6 @@ class NakladnItemForm(MyBaseModelForm):
class Meta: class Meta:
model = NakladnItem model = NakladnItem
exclude = ['parent'] exclude = ['parent']
fields = '__all__'
class NakladnItemAdminForm(NakladnItemForm): class NakladnItemAdminForm(NakladnItemForm):

@ -1,7 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from django import forms from django import forms
from commons.forms import set_field_error from project.commons.forms import set_field_error
from .base_forms import BaseModelForm from .base_forms import BaseModelForm
from ..models import Platejka from ..models import Platejka
@ -69,8 +69,7 @@ class PlatejkaForm(BaseModelForm):
class PlatejkaAdminForm(PlatejkaForm): class PlatejkaAdminForm(PlatejkaForm):
"""Форма редактирования платежного поручения - для админки.""" """Форма редактирования платежного поручения - для админки."""
class Meta(PlatejkaForm.Meta): class Meta(PlatejkaForm.Meta):
# fields = None fields = None
exclude = ()
widgets = { widgets = {
'doc_info': forms.Textarea(attrs={'cols': 80, 'rows': 5}), 'doc_info': forms.Textarea(attrs={'cols': 80, 'rows': 5}),
} }

@ -0,0 +1,673 @@
# -*- 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 'Country'
db.create_table(u'docs_country', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('code', self.gf('django.db.models.fields.CharField')(max_length=200)),
('name', self.gf('django.db.models.fields.CharField')(max_length=10)),
))
db.send_create_signal('docs', ['Country'])
# Adding model 'Currency'
db.create_table(u'docs_currency', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('code', self.gf('django.db.models.fields.CharField')(max_length=200)),
('name', self.gf('django.db.models.fields.CharField')(max_length=10)),
))
db.send_create_signal('docs', ['Currency'])
# Adding model 'Measure'
db.create_table(u'docs_measure', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('code', self.gf('django.db.models.fields.CharField')(max_length=200)),
('name', self.gf('django.db.models.fields.CharField')(max_length=10)),
))
db.send_create_signal('docs', ['Measure'])
# Adding model 'Invoice'
db.create_table(u'docs_invoice', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('created_at', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
('updated_at', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['myauth.DokUser'])),
('company', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['customer.UserProfile'], null=True)),
('doc_num', self.gf('django.db.models.fields.PositiveIntegerField')()),
('doc_date', self.gf('django.db.models.fields.DateField')()),
('client', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['customer.Client'])),
('nds_value', self.gf('django.db.models.fields.PositiveSmallIntegerField')(default=0)),
('bank_account', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['customer.BankAccount'])),
('doc_text', self.gf('django.db.models.fields.TextField')(default='', max_length=1000, blank=True)),
('paid_status', self.gf('django.db.models.fields.PositiveSmallIntegerField')(default=1)),
('closed_status', self.gf('django.db.models.fields.BooleanField')(default=False)),
))
db.send_create_signal('docs', ['Invoice'])
# Adding model 'InvoiceItem'
db.create_table(u'docs_invoiceitem', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('created_at', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
('updated_at', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
('name', self.gf('django.db.models.fields.CharField')(max_length=256)),
('qty', self.gf('django.db.models.fields.DecimalField')(max_digits=10, decimal_places=3)),
('units', self.gf('django.db.models.fields.CharField')(max_length=20)),
('price', self.gf('django.db.models.fields.DecimalField')(max_digits=10, decimal_places=2)),
('total_price', self.gf('django.db.models.fields.DecimalField')(max_digits=10, decimal_places=2)),
('parent', self.gf('django.db.models.fields.related.ForeignKey')(related_name='invoice_items', to=orm['docs.Invoice'])),
))
db.send_create_signal('docs', ['InvoiceItem'])
# Adding model 'AktRabot'
db.create_table(u'docs_aktrabot', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('created_at', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
('updated_at', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['myauth.DokUser'])),
('company', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['customer.UserProfile'], null=True)),
('doc_num', self.gf('django.db.models.fields.PositiveIntegerField')()),
('doc_date', self.gf('django.db.models.fields.DateField')()),
('client', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['customer.Client'])),
('nds_value', self.gf('django.db.models.fields.PositiveSmallIntegerField')(default=0)),
('bank_account', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['customer.BankAccount'])),
('doc_text', self.gf('django.db.models.fields.TextField')(default='', max_length=1000, blank=True)),
('signed_status', self.gf('django.db.models.fields.BooleanField')(default=False)),
('invoice', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', on_delete=models.SET_NULL, default=None, to=orm['docs.Invoice'], blank=True, null=True)),
))
db.send_create_signal('docs', ['AktRabot'])
# Adding model 'AktRabotItem'
db.create_table(u'docs_aktrabotitem', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('created_at', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
('updated_at', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
('name', self.gf('django.db.models.fields.CharField')(max_length=256)),
('qty', self.gf('django.db.models.fields.DecimalField')(max_digits=10, decimal_places=3)),
('units', self.gf('django.db.models.fields.CharField')(max_length=20)),
('price', self.gf('django.db.models.fields.DecimalField')(max_digits=10, decimal_places=2)),
('total_price', self.gf('django.db.models.fields.DecimalField')(max_digits=10, decimal_places=2)),
('parent', self.gf('django.db.models.fields.related.ForeignKey')(related_name='aktrabot_items', to=orm['docs.AktRabot'])),
))
db.send_create_signal('docs', ['AktRabotItem'])
# Adding model 'AktSverki'
db.create_table(u'docs_aktsverki', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('created_at', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
('updated_at', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['myauth.DokUser'])),
('company', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['customer.UserProfile'], null=True)),
('doc_num', self.gf('django.db.models.fields.PositiveIntegerField')()),
('doc_date', self.gf('django.db.models.fields.DateField')()),
('client', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['customer.Client'])),
('signed_status', self.gf('django.db.models.fields.BooleanField')(default=False)),
('doc_mesto', self.gf('django.db.models.fields.CharField')(max_length=256)),
('start_date', self.gf('django.db.models.fields.DateField')()),
('end_date', self.gf('django.db.models.fields.DateField')()),
('saldo_debit', self.gf('django.db.models.fields.DecimalField')(max_digits=10, decimal_places=2, blank=True)),
('saldo_credit', self.gf('django.db.models.fields.DecimalField')(max_digits=10, decimal_places=2, blank=True)),
('total_debit', self.gf('django.db.models.fields.DecimalField')(default='0.00', max_digits=10, decimal_places=2, blank=True)),
('total_credit', self.gf('django.db.models.fields.DecimalField')(default='0.00', max_digits=10, decimal_places=2, blank=True)),
('total_saldo', self.gf('django.db.models.fields.DecimalField')(default='0.00', max_digits=10, decimal_places=2, blank=True)),
))
db.send_create_signal('docs', ['AktSverki'])
# Adding model 'AktSverkiItem'
db.create_table(u'docs_aktsverkiitem', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('created_at', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
('updated_at', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
('parent', self.gf('django.db.models.fields.related.ForeignKey')(related_name='aktsverki_items', to=orm['docs.AktSverki'])),
('name', self.gf('django.db.models.fields.CharField')(max_length=256)),
('debit', self.gf('django.db.models.fields.DecimalField')(max_digits=10, decimal_places=2, blank=True)),
('credit', self.gf('django.db.models.fields.DecimalField')(max_digits=10, decimal_places=2, blank=True)),
))
db.send_create_signal('docs', ['AktSverkiItem'])
# Adding model 'Dover'
db.create_table(u'docs_dover', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('created_at', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
('updated_at', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['myauth.DokUser'])),
('company', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['customer.UserProfile'], null=True)),
('doc_num', self.gf('django.db.models.fields.PositiveIntegerField')()),
('doc_date', self.gf('django.db.models.fields.DateField')()),
('client', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['customer.Client'])),
('doc_expire_date', self.gf('django.db.models.fields.DateField')()),
('dover_doc', self.gf('django.db.models.fields.CharField')(max_length=256)),
('dover_doc_date', self.gf('django.db.models.fields.DateField')()),
('dover_name', self.gf('django.db.models.fields.CharField')(max_length=256)),
('dover_passport_ser', self.gf('django.db.models.fields.CharField')(max_length=10)),
('dover_passport_num', self.gf('django.db.models.fields.CharField')(max_length=10)),
('dover_passport_org', self.gf('django.db.models.fields.CharField')(max_length=256)),
('dover_passport_date', self.gf('django.db.models.fields.DateField')()),
))
db.send_create_signal('docs', ['Dover'])
# Adding model 'DoverItem'
db.create_table(u'docs_doveritem', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('created_at', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
('updated_at', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
('parent', self.gf('django.db.models.fields.related.ForeignKey')(related_name='dover_items', to=orm['docs.Dover'])),
('name', self.gf('django.db.models.fields.CharField')(max_length=256)),
('qty', self.gf('django.db.models.fields.PositiveIntegerField')()),
('units', self.gf('django.db.models.fields.CharField')(max_length=20)),
))
db.send_create_signal('docs', ['DoverItem'])
# Adding model 'Platejka'
db.create_table(u'docs_platejka', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('created_at', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
('updated_at', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['myauth.DokUser'])),
('company', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['customer.UserProfile'], null=True)),
('doc_num', self.gf('django.db.models.fields.PositiveIntegerField')()),
('doc_date', self.gf('django.db.models.fields.DateField')()),
('client', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['customer.Client'])),
('platej_type', self.gf('django.db.models.fields.PositiveSmallIntegerField')(default=1)),
('bank_account', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['customer.BankAccount'])),
('doc_total', self.gf('django.db.models.fields.DecimalField')(max_digits=10, decimal_places=2)),
('payment_type', self.gf('django.db.models.fields.PositiveSmallIntegerField')(default=1)),
('payment_order', self.gf('django.db.models.fields.CharField')(max_length=10)),
('doc_info', self.gf('django.db.models.fields.TextField')(max_length=1000)),
('nds_value', self.gf('django.db.models.fields.PositiveSmallIntegerField')(default=0)),
('tax_status', self.gf('django.db.models.fields.CharField')(default=u'01', max_length=10)),
('tax_base', self.gf('django.db.models.fields.CharField')(default=u'\u0422\u041f', max_length=10)),
('tax_type', self.gf('django.db.models.fields.CharField')(default=u'\u041d\u0421', max_length=10)),
('tax_num', self.gf('django.db.models.fields.CharField')(default='', max_length=50, blank=True)),
('tax_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
('tax_bk', self.gf('django.db.models.fields.CharField')(max_length=256)),
('tax_okato', self.gf('django.db.models.fields.CharField')(max_length=256)),
('tax_period', self.gf('django.db.models.fields.CharField')(max_length=256)),
))
db.send_create_signal('docs', ['Platejka'])
# Adding model 'Nakladn'
db.create_table(u'docs_nakladn', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('created_at', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
('updated_at', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['myauth.DokUser'])),
('company', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['customer.UserProfile'], null=True)),
('doc_num', self.gf('django.db.models.fields.PositiveIntegerField')()),
('doc_date', self.gf('django.db.models.fields.DateField')()),
('client', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['customer.Client'])),
('nds_value', self.gf('django.db.models.fields.PositiveSmallIntegerField')(default=0)),
('bank_account', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['customer.BankAccount'])),
('doc_text', self.gf('django.db.models.fields.TextField')(default='', max_length=1000, blank=True)),
('signed_status', self.gf('django.db.models.fields.BooleanField')(default=False)),
('invoice', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', on_delete=models.SET_NULL, default=None, to=orm['docs.Invoice'], blank=True, null=True)),
('doc_reason', self.gf('django.db.models.fields.CharField')(default='', max_length=256, blank=True)),
))
db.send_create_signal('docs', ['Nakladn'])
# Adding model 'NakladnItem'
db.create_table(u'docs_nakladnitem', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('created_at', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
('updated_at', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
('name', self.gf('django.db.models.fields.CharField')(max_length=256)),
('qty', self.gf('django.db.models.fields.DecimalField')(max_digits=10, decimal_places=3)),
('units', self.gf('django.db.models.fields.CharField')(max_length=20)),
('price', self.gf('django.db.models.fields.DecimalField')(max_digits=10, decimal_places=2)),
('total_price', self.gf('django.db.models.fields.DecimalField')(max_digits=10, decimal_places=2)),
('parent', self.gf('django.db.models.fields.related.ForeignKey')(related_name='nakladn_items', to=orm['docs.Nakladn'])),
))
db.send_create_signal('docs', ['NakladnItem'])
# Adding model 'Faktura'
db.create_table(u'docs_faktura', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('created_at', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
('updated_at', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['myauth.DokUser'])),
('company', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['customer.UserProfile'], null=True)),
('doc_num', self.gf('django.db.models.fields.PositiveIntegerField')()),
('doc_date', self.gf('django.db.models.fields.DateField')()),
('client', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['customer.Client'])),
('nds_value', self.gf('django.db.models.fields.PositiveSmallIntegerField')(default=0)),
('bank_account', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['customer.BankAccount'])),
('doc_text', self.gf('django.db.models.fields.TextField')(default='', max_length=1000, blank=True)),
('signed_status', self.gf('django.db.models.fields.BooleanField')(default=False)),
('invoice', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', on_delete=models.SET_NULL, default=None, to=orm['docs.Invoice'], blank=True, null=True)),
('doc_reason', self.gf('django.db.models.fields.CharField')(default='', max_length=256, blank=True)),
('fixes', self.gf('django.db.models.fields.BooleanField')(default=False)),
('avance', self.gf('django.db.models.fields.BooleanField')(default=False)),
('currency', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['docs.Currency'], null=True)),
('user_is_sender', self.gf('django.db.models.fields.BooleanField')(default=False)),
('sender', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='sender_fakturas', null=True, to=orm['customer.Client'])),
('receiver', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='receiver_fakturas', null=True, to=orm['customer.Client'])),
('plat_doc_num', self.gf('django.db.models.fields.CharField')(default='', max_length=30, blank=True)),
('plat_doc_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
('fix_doc_num', self.gf('django.db.models.fields.PositiveIntegerField')(max_length=30, null=True, blank=True)),
('fix_doc_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
))
db.send_create_signal('docs', ['Faktura'])
# Adding model 'FakturaItem'
db.create_table(u'docs_fakturaitem', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('created_at', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
('updated_at', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
('name', self.gf('django.db.models.fields.CharField')(max_length=256)),
('qty', self.gf('django.db.models.fields.DecimalField')(max_digits=10, decimal_places=3)),
('units', self.gf('django.db.models.fields.CharField')(max_length=20)),
('price', self.gf('django.db.models.fields.DecimalField')(max_digits=10, decimal_places=2)),
('total_price', self.gf('django.db.models.fields.DecimalField')(max_digits=10, decimal_places=2)),
('units_kod', self.gf('django.db.models.fields.CharField')(max_length=10)),
('parent', self.gf('django.db.models.fields.related.ForeignKey')(related_name='faktura_items', to=orm['docs.Faktura'])),
('country_code', self.gf('django.db.models.fields.CharField')(max_length=10)),
('country_name', self.gf('django.db.models.fields.CharField')(max_length=256)),
('gtd', self.gf('django.db.models.fields.CharField')(default='', max_length=256, blank=True)),
('ntd', self.gf('django.db.models.fields.CharField')(default='', max_length=256, blank=True)),
))
db.send_create_signal('docs', ['FakturaItem'])
def backwards(self, orm):
# Deleting model 'Country'
db.delete_table(u'docs_country')
# Deleting model 'Currency'
db.delete_table(u'docs_currency')
# Deleting model 'Measure'
db.delete_table(u'docs_measure')
# Deleting model 'Invoice'
db.delete_table(u'docs_invoice')
# Deleting model 'InvoiceItem'
db.delete_table(u'docs_invoiceitem')
# Deleting model 'AktRabot'
db.delete_table(u'docs_aktrabot')
# Deleting model 'AktRabotItem'
db.delete_table(u'docs_aktrabotitem')
# Deleting model 'AktSverki'
db.delete_table(u'docs_aktsverki')
# Deleting model 'AktSverkiItem'
db.delete_table(u'docs_aktsverkiitem')
# Deleting model 'Dover'
db.delete_table(u'docs_dover')
# Deleting model 'DoverItem'
db.delete_table(u'docs_doveritem')
# Deleting model 'Platejka'
db.delete_table(u'docs_platejka')
# Deleting model 'Nakladn'
db.delete_table(u'docs_nakladn')
# Deleting model 'NakladnItem'
db.delete_table(u'docs_nakladnitem')
# Deleting model 'Faktura'
db.delete_table(u'docs_faktura')
# Deleting model 'FakturaItem'
db.delete_table(u'docs_fakturaitem')
models = {
u'auth.group': {
'Meta': {'object_name': 'Group'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
},
u'auth.permission': {
'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
},
u'contenttypes.contenttype': {
'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
},
u'customer.bankaccount': {
'Meta': {'ordering': "['-created_at']", 'object_name': 'BankAccount'},
'account': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'address': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'bik': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'bank_accounts'", 'to': u"orm['customer.UserProfile']"}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'is_main': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'korr_account': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
u'customer.client': {
'Meta': {'ordering': "['name', '-created_at']", 'object_name': 'Client'},
'address': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'bank_account': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'bank_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'bank_bik': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'bank_korr_account': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'bank_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'clients'", 'to': u"orm['customer.UserProfile']"}),
'contact_email': ('django.db.models.fields.EmailField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_other': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'contact_phone': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_skype': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'inn': ('django.db.models.fields.CharField', [], {'max_length': '12'}),
'kpp': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '9', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256', 'db_index': 'True'}),
'ogrn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '15'}),
'okpo': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
u'customer.userprofile': {
'Meta': {'object_name': 'UserProfile'},
'active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256'}),
'boss_midname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_sign': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'boss_surname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_title': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'confirmed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'email': ('django.db.models.fields.EmailField', [], {'default': "''", 'max_length': '75', 'blank': 'True'}),
'fax': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'fax_code': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'full_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'glavbuh_midname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
'glavbuh_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
'glavbuh_sign': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'glavbuh_surname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'inn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '12'}),
'ip_reg_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'jur_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'kpp': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '9'}),
'logo': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'na_osnovanii': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256'}),
'ogrn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '15'}),
'okpo': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'phone': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'phone_code': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'profile_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {}),
'real_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'site': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'stamp': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'svid_gos_reg': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user_session_key': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'})
},
'docs.aktrabot': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'AktRabot'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_text': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'invoice': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['docs.Invoice']", 'blank': 'True', 'null': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'signed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.aktrabotitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'AktRabotItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'aktrabot_items'", 'to': "orm['docs.AktRabot']"}),
'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'qty': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '3'}),
'total_price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.aktsverki': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'AktSverki'},
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_mesto': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'end_date': ('django.db.models.fields.DateField', [], {}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'saldo_credit': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'saldo_debit': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'signed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'start_date': ('django.db.models.fields.DateField', [], {}),
'total_credit': ('django.db.models.fields.DecimalField', [], {'default': "'0.00'", 'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'total_debit': ('django.db.models.fields.DecimalField', [], {'default': "'0.00'", 'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'total_saldo': ('django.db.models.fields.DecimalField', [], {'default': "'0.00'", 'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.aktsverkiitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'AktSverkiItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'credit': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'debit': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'aktsverki_items'", 'to': "orm['docs.AktSverki']"}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.country': {
'Meta': {'object_name': 'Country'},
'code': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '10'})
},
'docs.currency': {
'Meta': {'object_name': 'Currency'},
'code': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '10'})
},
'docs.dover': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Dover'},
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_expire_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'dover_doc': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'dover_doc_date': ('django.db.models.fields.DateField', [], {}),
'dover_name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'dover_passport_date': ('django.db.models.fields.DateField', [], {}),
'dover_passport_num': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'dover_passport_org': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'dover_passport_ser': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.doveritem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'DoverItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dover_items'", 'to': "orm['docs.Dover']"}),
'qty': ('django.db.models.fields.PositiveIntegerField', [], {}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.faktura': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Faktura'},
'avance': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'currency': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['docs.Currency']", 'null': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_reason': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'doc_text': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}),
'fix_doc_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'fix_doc_num': ('django.db.models.fields.PositiveIntegerField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
'fixes': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'invoice': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['docs.Invoice']", 'blank': 'True', 'null': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'plat_doc_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'plat_doc_num': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
'receiver': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'receiver_fakturas'", 'null': 'True', 'to': u"orm['customer.Client']"}),
'sender': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'sender_fakturas'", 'null': 'True', 'to': u"orm['customer.Client']"}),
'signed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"}),
'user_is_sender': ('django.db.models.fields.BooleanField', [], {'default': 'False'})
},
'docs.fakturaitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'FakturaItem'},
'country_code': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'country_name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'gtd': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'ntd': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'faktura_items'", 'to': "orm['docs.Faktura']"}),
'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'qty': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '3'}),
'total_price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'units_kod': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.invoice': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Invoice'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'closed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_text': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'paid_status': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.invoiceitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'InvoiceItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'invoice_items'", 'to': "orm['docs.Invoice']"}),
'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'qty': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '3'}),
'total_price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.measure': {
'Meta': {'object_name': 'Measure'},
'code': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '10'})
},
'docs.nakladn': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Nakladn'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_reason': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'doc_text': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'invoice': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['docs.Invoice']", 'blank': 'True', 'null': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'signed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.nakladnitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'NakladnItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'nakladn_items'", 'to': "orm['docs.Nakladn']"}),
'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'qty': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '3'}),
'total_price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.platejka': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Platejka'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_info': ('django.db.models.fields.TextField', [], {'max_length': '1000'}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_total': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'payment_order': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'payment_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}),
'platej_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}),
'tax_base': ('django.db.models.fields.CharField', [], {'default': "u'\\u0422\\u041f'", 'max_length': '10'}),
'tax_bk': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'tax_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'tax_num': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'tax_okato': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'tax_period': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'tax_status': ('django.db.models.fields.CharField', [], {'default': "u'01'", 'max_length': '10'}),
'tax_type': ('django.db.models.fields.CharField', [], {'default': "u'\\u041d\\u0421'", 'max_length': '10'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
u'myauth.dokuser': {
'Meta': {'object_name': 'DokUser'},
'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '254'}),
'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
'profile': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'users'", 'null': 'True', 'to': u"orm['customer.UserProfile']"}),
'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30', 'blank': 'True'})
}
}
complete_apps = ['docs']

@ -0,0 +1,424 @@
# -*- 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 field 'Measure.full_name'
db.add_column(u'docs_measure', 'full_name',
self.gf('django.db.models.fields.CharField')(default='', max_length=255),
keep_default=False)
# Changing field 'Measure.code'
db.alter_column(u'docs_measure', 'code', self.gf('django.db.models.fields.CharField')(max_length=20))
# Changing field 'Measure.name'
db.alter_column(u'docs_measure', 'name', self.gf('django.db.models.fields.CharField')(max_length=30))
# Adding field 'Country.full_name'
db.add_column(u'docs_country', 'full_name',
self.gf('django.db.models.fields.CharField')(default='', max_length=255),
keep_default=False)
# Changing field 'Country.code'
db.alter_column(u'docs_country', 'code', self.gf('django.db.models.fields.CharField')(max_length=20))
# Changing field 'Country.name'
db.alter_column(u'docs_country', 'name', self.gf('django.db.models.fields.CharField')(max_length=60))
# Adding field 'Currency.abc_code'
db.add_column(u'docs_currency', 'abc_code',
self.gf('django.db.models.fields.CharField')(default='', max_length=10),
keep_default=False)
# Changing field 'Currency.code'
db.alter_column(u'docs_currency', 'code', self.gf('django.db.models.fields.CharField')(max_length=20))
# Changing field 'Currency.name'
db.alter_column(u'docs_currency', 'name', self.gf('django.db.models.fields.CharField')(max_length=60))
def backwards(self, orm):
# Deleting field 'Measure.full_name'
db.delete_column(u'docs_measure', 'full_name')
# Changing field 'Measure.code'
db.alter_column(u'docs_measure', 'code', self.gf('django.db.models.fields.CharField')(max_length=200))
# Changing field 'Measure.name'
db.alter_column(u'docs_measure', 'name', self.gf('django.db.models.fields.CharField')(max_length=10))
# Deleting field 'Country.full_name'
db.delete_column(u'docs_country', 'full_name')
# Changing field 'Country.code'
db.alter_column(u'docs_country', 'code', self.gf('django.db.models.fields.CharField')(max_length=200))
# Changing field 'Country.name'
db.alter_column(u'docs_country', 'name', self.gf('django.db.models.fields.CharField')(max_length=10))
# Deleting field 'Currency.abc_code'
db.delete_column(u'docs_currency', 'abc_code')
# Changing field 'Currency.code'
db.alter_column(u'docs_currency', 'code', self.gf('django.db.models.fields.CharField')(max_length=200))
# Changing field 'Currency.name'
db.alter_column(u'docs_currency', 'name', self.gf('django.db.models.fields.CharField')(max_length=10))
models = {
u'auth.group': {
'Meta': {'object_name': 'Group'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
},
u'auth.permission': {
'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
},
u'contenttypes.contenttype': {
'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
},
u'customer.bankaccount': {
'Meta': {'ordering': "['-created_at']", 'object_name': 'BankAccount'},
'account': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'address': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'bik': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'bank_accounts'", 'to': u"orm['customer.UserProfile']"}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'is_main': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'korr_account': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
u'customer.client': {
'Meta': {'ordering': "['name', '-created_at']", 'object_name': 'Client'},
'address': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'bank_account': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'bank_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'bank_bik': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'bank_korr_account': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'bank_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'clients'", 'to': u"orm['customer.UserProfile']"}),
'contact_email': ('django.db.models.fields.EmailField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_other': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'contact_phone': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_skype': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'inn': ('django.db.models.fields.CharField', [], {'max_length': '12'}),
'kpp': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '9', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256', 'db_index': 'True'}),
'ogrn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '15'}),
'okpo': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
u'customer.userprofile': {
'Meta': {'object_name': 'UserProfile'},
'active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256'}),
'boss_midname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_sign': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'boss_surname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_title': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'confirmed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'email': ('django.db.models.fields.EmailField', [], {'default': "''", 'max_length': '75', 'blank': 'True'}),
'fax': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'fax_code': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'full_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'glavbuh_midname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
'glavbuh_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
'glavbuh_sign': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'glavbuh_surname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'inn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '12'}),
'ip_reg_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'jur_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'kpp': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '9'}),
'logo': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'na_osnovanii': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256'}),
'ogrn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '15'}),
'okpo': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'phone': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'phone_code': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'profile_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {}),
'real_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'site': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'stamp': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'svid_gos_reg': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user_session_key': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'})
},
'docs.aktrabot': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'AktRabot'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_text': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'invoice': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['docs.Invoice']", 'blank': 'True', 'null': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'signed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.aktrabotitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'AktRabotItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'aktrabot_items'", 'to': "orm['docs.AktRabot']"}),
'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'qty': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '3'}),
'total_price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.aktsverki': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'AktSverki'},
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_mesto': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'end_date': ('django.db.models.fields.DateField', [], {}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'saldo_credit': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'saldo_debit': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'signed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'start_date': ('django.db.models.fields.DateField', [], {}),
'total_credit': ('django.db.models.fields.DecimalField', [], {'default': "'0.00'", 'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'total_debit': ('django.db.models.fields.DecimalField', [], {'default': "'0.00'", 'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'total_saldo': ('django.db.models.fields.DecimalField', [], {'default': "'0.00'", 'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.aktsverkiitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'AktSverkiItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'credit': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'debit': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'aktsverki_items'", 'to': "orm['docs.AktSverki']"}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.country': {
'Meta': {'object_name': 'Country'},
'code': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'full_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '60'})
},
'docs.currency': {
'Meta': {'object_name': 'Currency'},
'abc_code': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'code': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '60'})
},
'docs.dover': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Dover'},
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_expire_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'dover_doc': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'dover_doc_date': ('django.db.models.fields.DateField', [], {}),
'dover_name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'dover_passport_date': ('django.db.models.fields.DateField', [], {}),
'dover_passport_num': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'dover_passport_org': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'dover_passport_ser': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.doveritem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'DoverItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dover_items'", 'to': "orm['docs.Dover']"}),
'qty': ('django.db.models.fields.PositiveIntegerField', [], {}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.faktura': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Faktura'},
'avance': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'currency': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['docs.Currency']", 'null': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_reason': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'doc_text': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}),
'fix_doc_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'fix_doc_num': ('django.db.models.fields.PositiveIntegerField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
'fixes': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'invoice': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['docs.Invoice']", 'blank': 'True', 'null': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'plat_doc_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'plat_doc_num': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
'receiver': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'receiver_fakturas'", 'null': 'True', 'to': u"orm['customer.Client']"}),
'sender': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'sender_fakturas'", 'null': 'True', 'to': u"orm['customer.Client']"}),
'signed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"}),
'user_is_sender': ('django.db.models.fields.BooleanField', [], {'default': 'False'})
},
'docs.fakturaitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'FakturaItem'},
'country_code': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'country_name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'gtd': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'ntd': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'faktura_items'", 'to': "orm['docs.Faktura']"}),
'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'qty': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '3'}),
'total_price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'units_kod': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.invoice': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Invoice'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'closed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_text': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'paid_status': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.invoiceitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'InvoiceItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'invoice_items'", 'to': "orm['docs.Invoice']"}),
'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'qty': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '3'}),
'total_price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.measure': {
'Meta': {'object_name': 'Measure'},
'code': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'full_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '30'})
},
'docs.nakladn': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Nakladn'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_reason': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'doc_text': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'invoice': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['docs.Invoice']", 'blank': 'True', 'null': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'signed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.nakladnitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'NakladnItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'nakladn_items'", 'to': "orm['docs.Nakladn']"}),
'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'qty': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '3'}),
'total_price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.platejka': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Platejka'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_info': ('django.db.models.fields.TextField', [], {'max_length': '1000'}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_total': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'payment_order': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'payment_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}),
'platej_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}),
'tax_base': ('django.db.models.fields.CharField', [], {'default': "u'\\u0422\\u041f'", 'max_length': '10'}),
'tax_bk': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'tax_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'tax_num': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'tax_okato': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'tax_period': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'tax_status': ('django.db.models.fields.CharField', [], {'default': "u'01'", 'max_length': '10'}),
'tax_type': ('django.db.models.fields.CharField', [], {'default': "u'\\u041d\\u0421'", 'max_length': '10'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
u'myauth.dokuser': {
'Meta': {'object_name': 'DokUser'},
'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '254'}),
'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
'profile': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'users'", 'null': 'True', 'to': u"orm['customer.UserProfile']"}),
'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30', 'blank': 'True'})
}
}
complete_apps = ['docs']

@ -0,0 +1,373 @@
# -*- 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 field 'Currency.order'
db.add_column(u'docs_currency', 'order',
self.gf('django.db.models.fields.PositiveIntegerField')(default=None, null=True, blank=True),
keep_default=False)
def backwards(self, orm):
# Deleting field 'Currency.order'
db.delete_column(u'docs_currency', 'order')
models = {
u'auth.group': {
'Meta': {'object_name': 'Group'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
},
u'auth.permission': {
'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
},
u'contenttypes.contenttype': {
'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
},
u'customer.bankaccount': {
'Meta': {'ordering': "['-created_at']", 'object_name': 'BankAccount'},
'account': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'address': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'bik': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'bank_accounts'", 'to': u"orm['customer.UserProfile']"}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'is_main': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'korr_account': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
u'customer.client': {
'Meta': {'ordering': "['name', '-created_at']", 'object_name': 'Client'},
'address': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'bank_account': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'bank_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'bank_bik': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'bank_korr_account': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'bank_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'clients'", 'to': u"orm['customer.UserProfile']"}),
'contact_email': ('django.db.models.fields.EmailField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_other': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'contact_phone': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_skype': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'inn': ('django.db.models.fields.CharField', [], {'max_length': '12'}),
'kpp': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '9', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256', 'db_index': 'True'}),
'ogrn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '15'}),
'okpo': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
u'customer.userprofile': {
'Meta': {'object_name': 'UserProfile'},
'active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256'}),
'boss_midname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_sign': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'boss_surname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_title': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'confirmed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'email': ('django.db.models.fields.EmailField', [], {'default': "''", 'max_length': '75', 'blank': 'True'}),
'fax': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'fax_code': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'full_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'glavbuh_midname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
'glavbuh_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
'glavbuh_sign': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'glavbuh_surname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'inn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '12'}),
'ip_reg_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'jur_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'kpp': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '9'}),
'logo': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'na_osnovanii': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256'}),
'ogrn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '15'}),
'okpo': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'phone': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'phone_code': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'profile_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {}),
'real_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'site': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'stamp': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'svid_gos_reg': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user_session_key': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'})
},
'docs.aktrabot': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'AktRabot'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_text': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'invoice': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['docs.Invoice']", 'blank': 'True', 'null': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'signed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.aktrabotitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'AktRabotItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'aktrabot_items'", 'to': "orm['docs.AktRabot']"}),
'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'qty': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '3'}),
'total_price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.aktsverki': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'AktSverki'},
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_mesto': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'end_date': ('django.db.models.fields.DateField', [], {}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'saldo_credit': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'saldo_debit': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'signed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'start_date': ('django.db.models.fields.DateField', [], {}),
'total_credit': ('django.db.models.fields.DecimalField', [], {'default': "'0.00'", 'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'total_debit': ('django.db.models.fields.DecimalField', [], {'default': "'0.00'", 'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'total_saldo': ('django.db.models.fields.DecimalField', [], {'default': "'0.00'", 'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.aktsverkiitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'AktSverkiItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'credit': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'debit': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'aktsverki_items'", 'to': "orm['docs.AktSverki']"}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.country': {
'Meta': {'ordering': "('code',)", 'object_name': 'Country'},
'code': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'full_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '60'})
},
'docs.currency': {
'Meta': {'ordering': "('code',)", 'object_name': 'Currency'},
'abc_code': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'code': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '60'}),
'order': ('django.db.models.fields.PositiveIntegerField', [], {'default': 'None', 'null': 'True', 'blank': 'True'})
},
'docs.dover': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Dover'},
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_expire_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'dover_doc': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'dover_doc_date': ('django.db.models.fields.DateField', [], {}),
'dover_name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'dover_passport_date': ('django.db.models.fields.DateField', [], {}),
'dover_passport_num': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'dover_passport_org': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'dover_passport_ser': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.doveritem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'DoverItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dover_items'", 'to': "orm['docs.Dover']"}),
'qty': ('django.db.models.fields.PositiveIntegerField', [], {}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.faktura': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Faktura'},
'avance': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'currency': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['docs.Currency']", 'null': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_reason': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'doc_text': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}),
'fix_doc_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'fix_doc_num': ('django.db.models.fields.PositiveIntegerField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
'fixes': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'invoice': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['docs.Invoice']", 'blank': 'True', 'null': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'plat_doc_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'plat_doc_num': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
'receiver': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'receiver_fakturas'", 'null': 'True', 'to': u"orm['customer.Client']"}),
'sender': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'sender_fakturas'", 'null': 'True', 'to': u"orm['customer.Client']"}),
'signed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"}),
'user_is_sender': ('django.db.models.fields.BooleanField', [], {'default': 'False'})
},
'docs.fakturaitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'FakturaItem'},
'country_code': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'country_name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'gtd': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'ntd': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'faktura_items'", 'to': "orm['docs.Faktura']"}),
'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'qty': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '3'}),
'total_price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'units_kod': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.invoice': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Invoice'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'closed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_text': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'paid_status': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.invoiceitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'InvoiceItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'invoice_items'", 'to': "orm['docs.Invoice']"}),
'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'qty': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '3'}),
'total_price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.measure': {
'Meta': {'ordering': "('code',)", 'object_name': 'Measure'},
'code': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'full_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '30'})
},
'docs.nakladn': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Nakladn'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_reason': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'doc_text': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'invoice': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['docs.Invoice']", 'blank': 'True', 'null': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'signed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.nakladnitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'NakladnItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'nakladn_items'", 'to': "orm['docs.Nakladn']"}),
'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'qty': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '3'}),
'total_price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.platejka': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Platejka'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_info': ('django.db.models.fields.TextField', [], {'max_length': '1000'}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_total': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'payment_order': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'payment_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}),
'platej_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}),
'tax_base': ('django.db.models.fields.CharField', [], {'default': "u'\\u0422\\u041f'", 'max_length': '10'}),
'tax_bk': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'tax_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'tax_num': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'tax_okato': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'tax_period': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'tax_status': ('django.db.models.fields.CharField', [], {'default': "u'01'", 'max_length': '10'}),
'tax_type': ('django.db.models.fields.CharField', [], {'default': "u'\\u041d\\u0421'", 'max_length': '10'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
u'myauth.dokuser': {
'Meta': {'object_name': 'DokUser'},
'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '254'}),
'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
'profile': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'users'", 'null': 'True', 'to': u"orm['customer.UserProfile']"}),
'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30', 'blank': 'True'})
}
}
complete_apps = ['docs']

@ -0,0 +1,374 @@
# -*- 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 field 'Measure.order'
db.add_column(u'docs_measure', 'order',
self.gf('django.db.models.fields.PositiveIntegerField')(default=None, null=True, blank=True),
keep_default=False)
def backwards(self, orm):
# Deleting field 'Measure.order'
db.delete_column(u'docs_measure', 'order')
models = {
u'auth.group': {
'Meta': {'object_name': 'Group'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
},
u'auth.permission': {
'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
},
u'contenttypes.contenttype': {
'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
},
u'customer.bankaccount': {
'Meta': {'ordering': "['-created_at']", 'object_name': 'BankAccount'},
'account': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'address': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'bik': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'bank_accounts'", 'to': u"orm['customer.UserProfile']"}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'is_main': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'korr_account': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
u'customer.client': {
'Meta': {'ordering': "['name', '-created_at']", 'object_name': 'Client'},
'address': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'bank_account': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'bank_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'bank_bik': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'bank_korr_account': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'bank_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'clients'", 'to': u"orm['customer.UserProfile']"}),
'contact_email': ('django.db.models.fields.EmailField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_other': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'contact_phone': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_skype': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'inn': ('django.db.models.fields.CharField', [], {'max_length': '12'}),
'kpp': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '9', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256', 'db_index': 'True'}),
'ogrn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '15'}),
'okpo': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
u'customer.userprofile': {
'Meta': {'object_name': 'UserProfile'},
'active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256'}),
'boss_midname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_sign': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'boss_surname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_title': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'confirmed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'email': ('django.db.models.fields.EmailField', [], {'default': "''", 'max_length': '75', 'blank': 'True'}),
'fax': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'fax_code': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'full_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'glavbuh_midname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
'glavbuh_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
'glavbuh_sign': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'glavbuh_surname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'inn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '12'}),
'ip_reg_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'jur_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'kpp': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '9'}),
'logo': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'na_osnovanii': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256'}),
'ogrn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '15'}),
'okpo': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'phone': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'phone_code': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'profile_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {}),
'real_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'site': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'stamp': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'svid_gos_reg': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user_session_key': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'})
},
'docs.aktrabot': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'AktRabot'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_text': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'invoice': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['docs.Invoice']", 'blank': 'True', 'null': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'signed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.aktrabotitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'AktRabotItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'aktrabot_items'", 'to': "orm['docs.AktRabot']"}),
'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'qty': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '3'}),
'total_price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.aktsverki': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'AktSverki'},
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_mesto': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'end_date': ('django.db.models.fields.DateField', [], {}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'saldo_credit': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'saldo_debit': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'signed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'start_date': ('django.db.models.fields.DateField', [], {}),
'total_credit': ('django.db.models.fields.DecimalField', [], {'default': "'0.00'", 'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'total_debit': ('django.db.models.fields.DecimalField', [], {'default': "'0.00'", 'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'total_saldo': ('django.db.models.fields.DecimalField', [], {'default': "'0.00'", 'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.aktsverkiitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'AktSverkiItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'credit': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'debit': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'aktsverki_items'", 'to': "orm['docs.AktSverki']"}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.country': {
'Meta': {'ordering': "('code',)", 'object_name': 'Country'},
'code': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'full_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '60'})
},
'docs.currency': {
'Meta': {'ordering': "('order', 'name')", 'object_name': 'Currency'},
'abc_code': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'code': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '60'}),
'order': ('django.db.models.fields.PositiveIntegerField', [], {'default': 'None', 'null': 'True', 'blank': 'True'})
},
'docs.dover': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Dover'},
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_expire_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'dover_doc': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'dover_doc_date': ('django.db.models.fields.DateField', [], {}),
'dover_name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'dover_passport_date': ('django.db.models.fields.DateField', [], {}),
'dover_passport_num': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'dover_passport_org': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'dover_passport_ser': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.doveritem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'DoverItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dover_items'", 'to': "orm['docs.Dover']"}),
'qty': ('django.db.models.fields.PositiveIntegerField', [], {}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.faktura': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Faktura'},
'avance': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'currency': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['docs.Currency']", 'null': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_reason': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'doc_text': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}),
'fix_doc_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'fix_doc_num': ('django.db.models.fields.PositiveIntegerField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
'fixes': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'invoice': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['docs.Invoice']", 'blank': 'True', 'null': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'plat_doc_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'plat_doc_num': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
'receiver': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'receiver_fakturas'", 'null': 'True', 'to': u"orm['customer.Client']"}),
'sender': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'sender_fakturas'", 'null': 'True', 'to': u"orm['customer.Client']"}),
'signed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"}),
'user_is_sender': ('django.db.models.fields.BooleanField', [], {'default': 'False'})
},
'docs.fakturaitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'FakturaItem'},
'country_code': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'country_name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'gtd': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'ntd': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'faktura_items'", 'to': "orm['docs.Faktura']"}),
'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'qty': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '3'}),
'total_price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'units_kod': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.invoice': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Invoice'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'closed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_text': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'paid_status': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.invoiceitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'InvoiceItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'invoice_items'", 'to': "orm['docs.Invoice']"}),
'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'qty': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '3'}),
'total_price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.measure': {
'Meta': {'ordering': "('order', 'name')", 'object_name': 'Measure'},
'code': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'full_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
'order': ('django.db.models.fields.PositiveIntegerField', [], {'default': 'None', 'null': 'True', 'blank': 'True'})
},
'docs.nakladn': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Nakladn'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_reason': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'doc_text': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'invoice': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['docs.Invoice']", 'blank': 'True', 'null': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'signed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.nakladnitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'NakladnItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'nakladn_items'", 'to': "orm['docs.Nakladn']"}),
'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'qty': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '3'}),
'total_price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.platejka': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Platejka'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_info': ('django.db.models.fields.TextField', [], {'max_length': '1000'}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_total': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'payment_order': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'payment_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}),
'platej_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}),
'tax_base': ('django.db.models.fields.CharField', [], {'default': "u'\\u0422\\u041f'", 'max_length': '10'}),
'tax_bk': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'tax_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'tax_num': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'tax_okato': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'tax_period': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'tax_status': ('django.db.models.fields.CharField', [], {'default': "u'01'", 'max_length': '10'}),
'tax_type': ('django.db.models.fields.CharField', [], {'default': "u'\\u041d\\u0421'", 'max_length': '10'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
u'myauth.dokuser': {
'Meta': {'object_name': 'DokUser'},
'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '254'}),
'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
'profile': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'users'", 'null': 'True', 'to': u"orm['customer.UserProfile']"}),
'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30', 'blank': 'True'})
}
}
complete_apps = ['docs']

@ -0,0 +1,375 @@
# -*- 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 field 'Country.order'
db.add_column(u'docs_country', 'order',
self.gf('django.db.models.fields.PositiveIntegerField')(default=None, null=True, blank=True),
keep_default=False)
def backwards(self, orm):
# Deleting field 'Country.order'
db.delete_column(u'docs_country', 'order')
models = {
u'auth.group': {
'Meta': {'object_name': 'Group'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
},
u'auth.permission': {
'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
},
u'contenttypes.contenttype': {
'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
},
u'customer.bankaccount': {
'Meta': {'ordering': "['-created_at']", 'object_name': 'BankAccount'},
'account': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'address': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'bik': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'bank_accounts'", 'to': u"orm['customer.UserProfile']"}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'is_main': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'korr_account': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
u'customer.client': {
'Meta': {'ordering': "['name', '-created_at']", 'object_name': 'Client'},
'address': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'bank_account': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'bank_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'bank_bik': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'bank_korr_account': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'bank_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'clients'", 'to': u"orm['customer.UserProfile']"}),
'contact_email': ('django.db.models.fields.EmailField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_other': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'contact_phone': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_skype': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'inn': ('django.db.models.fields.CharField', [], {'max_length': '12'}),
'kpp': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '9', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256', 'db_index': 'True'}),
'ogrn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '15'}),
'okpo': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
u'customer.userprofile': {
'Meta': {'object_name': 'UserProfile'},
'active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256'}),
'boss_midname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_sign': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'boss_surname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_title': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'confirmed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'email': ('django.db.models.fields.EmailField', [], {'default': "''", 'max_length': '75', 'blank': 'True'}),
'fax': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'fax_code': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'full_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'glavbuh_midname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
'glavbuh_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
'glavbuh_sign': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'glavbuh_surname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'inn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '12'}),
'ip_reg_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'jur_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'kpp': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '9'}),
'logo': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'na_osnovanii': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256'}),
'ogrn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '15'}),
'okpo': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'phone': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'phone_code': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'profile_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {}),
'real_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'site': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'stamp': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'svid_gos_reg': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user_session_key': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'})
},
'docs.aktrabot': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'AktRabot'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_text': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'invoice': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['docs.Invoice']", 'blank': 'True', 'null': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'signed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.aktrabotitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'AktRabotItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'aktrabot_items'", 'to': "orm['docs.AktRabot']"}),
'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'qty': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '3'}),
'total_price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.aktsverki': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'AktSverki'},
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_mesto': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'end_date': ('django.db.models.fields.DateField', [], {}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'saldo_credit': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'saldo_debit': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'signed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'start_date': ('django.db.models.fields.DateField', [], {}),
'total_credit': ('django.db.models.fields.DecimalField', [], {'default': "'0.00'", 'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'total_debit': ('django.db.models.fields.DecimalField', [], {'default': "'0.00'", 'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'total_saldo': ('django.db.models.fields.DecimalField', [], {'default': "'0.00'", 'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.aktsverkiitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'AktSverkiItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'credit': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'debit': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'aktsverki_items'", 'to': "orm['docs.AktSverki']"}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.country': {
'Meta': {'ordering': "('order', 'name')", 'object_name': 'Country'},
'code': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'full_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '60'}),
'order': ('django.db.models.fields.PositiveIntegerField', [], {'default': 'None', 'null': 'True', 'blank': 'True'})
},
'docs.currency': {
'Meta': {'ordering': "('order', 'name')", 'object_name': 'Currency'},
'abc_code': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'code': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '60'}),
'order': ('django.db.models.fields.PositiveIntegerField', [], {'default': 'None', 'null': 'True', 'blank': 'True'})
},
'docs.dover': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Dover'},
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_expire_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'dover_doc': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'dover_doc_date': ('django.db.models.fields.DateField', [], {}),
'dover_name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'dover_passport_date': ('django.db.models.fields.DateField', [], {}),
'dover_passport_num': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'dover_passport_org': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'dover_passport_ser': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.doveritem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'DoverItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dover_items'", 'to': "orm['docs.Dover']"}),
'qty': ('django.db.models.fields.PositiveIntegerField', [], {}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.faktura': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Faktura'},
'avance': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'currency': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['docs.Currency']", 'null': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_reason': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'doc_text': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}),
'fix_doc_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'fix_doc_num': ('django.db.models.fields.PositiveIntegerField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
'fixes': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'invoice': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['docs.Invoice']", 'blank': 'True', 'null': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'plat_doc_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'plat_doc_num': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
'receiver': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'receiver_fakturas'", 'null': 'True', 'to': u"orm['customer.Client']"}),
'sender': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'sender_fakturas'", 'null': 'True', 'to': u"orm['customer.Client']"}),
'signed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"}),
'user_is_sender': ('django.db.models.fields.BooleanField', [], {'default': 'False'})
},
'docs.fakturaitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'FakturaItem'},
'country_code': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'country_name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'gtd': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'ntd': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'faktura_items'", 'to': "orm['docs.Faktura']"}),
'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'qty': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '3'}),
'total_price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'units_kod': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.invoice': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Invoice'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'closed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_text': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'paid_status': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.invoiceitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'InvoiceItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'invoice_items'", 'to': "orm['docs.Invoice']"}),
'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'qty': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '3'}),
'total_price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.measure': {
'Meta': {'ordering': "('order', 'name')", 'object_name': 'Measure'},
'code': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'full_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
'order': ('django.db.models.fields.PositiveIntegerField', [], {'default': 'None', 'null': 'True', 'blank': 'True'})
},
'docs.nakladn': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Nakladn'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_reason': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'doc_text': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'invoice': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['docs.Invoice']", 'blank': 'True', 'null': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'signed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.nakladnitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'NakladnItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'nakladn_items'", 'to': "orm['docs.Nakladn']"}),
'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'qty': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '3'}),
'total_price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.platejka': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Platejka'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_info': ('django.db.models.fields.TextField', [], {'max_length': '1000'}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_total': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'payment_order': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'payment_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}),
'platej_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}),
'tax_base': ('django.db.models.fields.CharField', [], {'default': "u'\\u0422\\u041f'", 'max_length': '10'}),
'tax_bk': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'tax_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'tax_num': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'tax_okato': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'tax_period': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'tax_status': ('django.db.models.fields.CharField', [], {'default': "u'01'", 'max_length': '10'}),
'tax_type': ('django.db.models.fields.CharField', [], {'default': "u'\\u041d\\u0421'", 'max_length': '10'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
u'myauth.dokuser': {
'Meta': {'object_name': 'DokUser'},
'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '254'}),
'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
'profile': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'users'", 'null': 'True', 'to': u"orm['customer.UserProfile']"}),
'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30', 'blank': 'True'})
}
}
complete_apps = ['docs']

@ -0,0 +1,377 @@
# -*- 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 field 'NakladnItem.units_kod'
db.add_column(u'docs_nakladnitem', 'units_kod',
self.gf('django.db.models.fields.CharField')(default=u'-', max_length=20, blank=True),
keep_default=False)
def backwards(self, orm):
# Deleting field 'NakladnItem.units_kod'
db.delete_column(u'docs_nakladnitem', 'units_kod')
models = {
u'auth.group': {
'Meta': {'object_name': 'Group'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
},
u'auth.permission': {
'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
},
u'contenttypes.contenttype': {
'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
},
u'customer.bankaccount': {
'Meta': {'ordering': "['-created_at']", 'object_name': 'BankAccount'},
'account': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'bik': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'bank_accounts'", 'to': u"orm['customer.UserProfile']"}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'is_main': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'korr_account': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'short_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
u'customer.client': {
'Meta': {'ordering': "['name', '-created_at']", 'object_name': 'Client'},
'address': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'bank_account': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'bank_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'bank_bik': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'bank_korr_account': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'bank_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'clients'", 'to': u"orm['customer.UserProfile']"}),
'contact_email': ('django.db.models.fields.EmailField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_other': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'contact_phone': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_skype': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'inn': ('django.db.models.fields.CharField', [], {'max_length': '12'}),
'kpp': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '9', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256', 'db_index': 'True'}),
'ogrn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '15'}),
'okpo': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
u'customer.userprofile': {
'Meta': {'object_name': 'UserProfile'},
'active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256'}),
'boss_midname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_sign': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'boss_surname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_title': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'confirmed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'email': ('django.db.models.fields.EmailField', [], {'default': "''", 'max_length': '75', 'blank': 'True'}),
'fax': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'fax_code': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'full_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'glavbuh_midname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
'glavbuh_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
'glavbuh_sign': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'glavbuh_surname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'inn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '12'}),
'ip_reg_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'jur_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'kpp': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '9'}),
'logo': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'na_osnovanii': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256'}),
'ogrn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '15'}),
'okpo': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'phone': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'phone_code': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'profile_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {}),
'real_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'site': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'stamp': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'svid_gos_reg': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user_session_key': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'})
},
'docs.aktrabot': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'AktRabot'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_text': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'invoice': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['docs.Invoice']", 'blank': 'True', 'null': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'signed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.aktrabotitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'AktRabotItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'aktrabot_items'", 'to': "orm['docs.AktRabot']"}),
'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'qty': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '3'}),
'total_price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.aktsverki': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'AktSverki'},
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_mesto': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'end_date': ('django.db.models.fields.DateField', [], {}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'saldo_credit': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'saldo_debit': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'signed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'start_date': ('django.db.models.fields.DateField', [], {}),
'total_credit': ('django.db.models.fields.DecimalField', [], {'default': "'0.00'", 'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'total_debit': ('django.db.models.fields.DecimalField', [], {'default': "'0.00'", 'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'total_saldo': ('django.db.models.fields.DecimalField', [], {'default': "'0.00'", 'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.aktsverkiitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'AktSverkiItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'credit': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'debit': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'aktsverki_items'", 'to': "orm['docs.AktSverki']"}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.country': {
'Meta': {'ordering': "('order', 'name')", 'object_name': 'Country'},
'code': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'full_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '60'}),
'order': ('django.db.models.fields.PositiveIntegerField', [], {'default': 'None', 'null': 'True', 'blank': 'True'})
},
'docs.currency': {
'Meta': {'ordering': "('order', 'name')", 'object_name': 'Currency'},
'abc_code': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'code': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '60'}),
'order': ('django.db.models.fields.PositiveIntegerField', [], {'default': 'None', 'null': 'True', 'blank': 'True'})
},
'docs.dover': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Dover'},
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_expire_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'dover_doc': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'dover_doc_date': ('django.db.models.fields.DateField', [], {}),
'dover_name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'dover_passport_date': ('django.db.models.fields.DateField', [], {}),
'dover_passport_num': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'dover_passport_org': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'dover_passport_ser': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.doveritem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'DoverItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dover_items'", 'to': "orm['docs.Dover']"}),
'qty': ('django.db.models.fields.PositiveIntegerField', [], {}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.faktura': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Faktura'},
'avance': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'currency': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['docs.Currency']", 'null': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_reason': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'doc_text': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}),
'fix_doc_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'fix_doc_num': ('django.db.models.fields.PositiveIntegerField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
'fixes': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'invoice': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['docs.Invoice']", 'blank': 'True', 'null': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'plat_doc_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'plat_doc_num': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
'receiver': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'receiver_fakturas'", 'null': 'True', 'to': u"orm['customer.Client']"}),
'sender': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'sender_fakturas'", 'null': 'True', 'to': u"orm['customer.Client']"}),
'signed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"}),
'user_is_sender': ('django.db.models.fields.BooleanField', [], {'default': 'False'})
},
'docs.fakturaitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'FakturaItem'},
'country_code': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'country_name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'gtd': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'ntd': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'faktura_items'", 'to': "orm['docs.Faktura']"}),
'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'qty': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '3'}),
'total_price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'units_kod': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.invoice': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Invoice'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'closed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_text': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'paid_status': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.invoiceitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'InvoiceItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'invoice_items'", 'to': "orm['docs.Invoice']"}),
'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'qty': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '3'}),
'total_price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.measure': {
'Meta': {'ordering': "('order', 'name')", 'object_name': 'Measure'},
'code': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'full_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
'order': ('django.db.models.fields.PositiveIntegerField', [], {'default': 'None', 'null': 'True', 'blank': 'True'})
},
'docs.nakladn': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Nakladn'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_reason': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'doc_text': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'invoice': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['docs.Invoice']", 'blank': 'True', 'null': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'signed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.nakladnitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'NakladnItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'nakladn_items'", 'to': "orm['docs.Nakladn']"}),
'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'qty': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '3'}),
'total_price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'units_kod': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.platejka': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Platejka'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_info': ('django.db.models.fields.TextField', [], {'max_length': '1000'}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_total': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'payment_order': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'payment_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}),
'platej_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}),
'tax_base': ('django.db.models.fields.CharField', [], {'default': "u'\\u0422\\u041f'", 'max_length': '10'}),
'tax_bk': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'tax_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'tax_num': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'tax_okato': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'tax_period': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'tax_status': ('django.db.models.fields.CharField', [], {'default': "u'01'", 'max_length': '10'}),
'tax_type': ('django.db.models.fields.CharField', [], {'default': "u'\\u041d\\u0421'", 'max_length': '10'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
u'myauth.dokuser': {
'Meta': {'object_name': 'DokUser'},
'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '254'}),
'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
'profile': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'users'", 'null': 'True', 'to': u"orm['customer.UserProfile']"}),
'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30', 'blank': 'True'})
}
}
complete_apps = ['docs']

@ -0,0 +1,387 @@
# -*- coding: utf-8 -*-
from south.utils import datetime_utils as datetime
from south.db import db
from south.v2 import DataMigration
from django.db import models
class Migration(DataMigration):
def forwards(self, orm):
"Write your forwards methods here."
# Note: Don't use "from appname.models import ModelName".
# Use orm.ModelName to refer to models in this application,
# and orm['appname.ModelName'] for models in other applications.
fixes = {
u'шт.': u'шт',
u'м.куб': u'м³',
u'уп': u'упак',
u'руб.': u'руб',
}
for item in orm.NakladnItem.objects.all():
units = item.units.lower()
if units in fixes:
units = fixes.get(units)
if item.units != units:
item.units = units
item.save()
def backwards(self, orm):
"Write your backwards methods here."
models = {
u'auth.group': {
'Meta': {'object_name': 'Group'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
},
u'auth.permission': {
'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
},
u'contenttypes.contenttype': {
'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
},
u'customer.bankaccount': {
'Meta': {'ordering': "['-created_at']", 'object_name': 'BankAccount'},
'account': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'bik': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'bank_accounts'", 'to': u"orm['customer.UserProfile']"}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'is_main': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'korr_account': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'short_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
u'customer.client': {
'Meta': {'ordering': "['name', '-created_at']", 'object_name': 'Client'},
'address': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'bank_account': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'bank_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'bank_bik': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'bank_korr_account': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'bank_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'clients'", 'to': u"orm['customer.UserProfile']"}),
'contact_email': ('django.db.models.fields.EmailField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_other': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'contact_phone': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_skype': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'inn': ('django.db.models.fields.CharField', [], {'max_length': '12'}),
'kpp': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '9', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256', 'db_index': 'True'}),
'ogrn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '15'}),
'okpo': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
u'customer.userprofile': {
'Meta': {'object_name': 'UserProfile'},
'active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256'}),
'boss_midname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_sign': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'boss_surname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_title': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'confirmed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'email': ('django.db.models.fields.EmailField', [], {'default': "''", 'max_length': '75', 'blank': 'True'}),
'fax': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'fax_code': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'full_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'glavbuh_midname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
'glavbuh_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
'glavbuh_sign': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'glavbuh_surname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'inn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '12'}),
'ip_reg_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'jur_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'kpp': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '9'}),
'logo': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'na_osnovanii': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256'}),
'ogrn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '15'}),
'okpo': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'phone': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'phone_code': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'profile_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {}),
'real_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'site': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'stamp': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'svid_gos_reg': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user_session_key': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'})
},
'docs.aktrabot': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'AktRabot'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_text': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'invoice': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['docs.Invoice']", 'blank': 'True', 'null': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'signed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.aktrabotitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'AktRabotItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'aktrabot_items'", 'to': "orm['docs.AktRabot']"}),
'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'qty': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '3'}),
'total_price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.aktsverki': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'AktSverki'},
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_mesto': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'end_date': ('django.db.models.fields.DateField', [], {}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'saldo_credit': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'saldo_debit': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'signed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'start_date': ('django.db.models.fields.DateField', [], {}),
'total_credit': ('django.db.models.fields.DecimalField', [], {'default': "'0.00'", 'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'total_debit': ('django.db.models.fields.DecimalField', [], {'default': "'0.00'", 'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'total_saldo': ('django.db.models.fields.DecimalField', [], {'default': "'0.00'", 'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.aktsverkiitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'AktSverkiItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'credit': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'debit': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'aktsverki_items'", 'to': "orm['docs.AktSverki']"}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.country': {
'Meta': {'ordering': "('order', 'name')", 'object_name': 'Country'},
'code': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'full_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '60'}),
'order': ('django.db.models.fields.PositiveIntegerField', [], {'default': 'None', 'null': 'True', 'blank': 'True'})
},
'docs.currency': {
'Meta': {'ordering': "('order', 'name')", 'object_name': 'Currency'},
'abc_code': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'code': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '60'}),
'order': ('django.db.models.fields.PositiveIntegerField', [], {'default': 'None', 'null': 'True', 'blank': 'True'})
},
'docs.dover': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Dover'},
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_expire_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'dover_doc': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'dover_doc_date': ('django.db.models.fields.DateField', [], {}),
'dover_name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'dover_passport_date': ('django.db.models.fields.DateField', [], {}),
'dover_passport_num': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'dover_passport_org': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'dover_passport_ser': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.doveritem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'DoverItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dover_items'", 'to': "orm['docs.Dover']"}),
'qty': ('django.db.models.fields.PositiveIntegerField', [], {}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.faktura': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Faktura'},
'avance': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'currency': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['docs.Currency']", 'null': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_reason': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'doc_text': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}),
'fix_doc_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'fix_doc_num': ('django.db.models.fields.PositiveIntegerField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
'fixes': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'invoice': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['docs.Invoice']", 'blank': 'True', 'null': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'plat_doc_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'plat_doc_num': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
'receiver': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'receiver_fakturas'", 'null': 'True', 'to': u"orm['customer.Client']"}),
'sender': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'sender_fakturas'", 'null': 'True', 'to': u"orm['customer.Client']"}),
'signed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"}),
'user_is_sender': ('django.db.models.fields.BooleanField', [], {'default': 'False'})
},
'docs.fakturaitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'FakturaItem'},
'country_code': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'country_name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'gtd': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'ntd': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'faktura_items'", 'to': "orm['docs.Faktura']"}),
'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'qty': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '3'}),
'total_price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'units_kod': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.invoice': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Invoice'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'closed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_text': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'paid_status': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.invoiceitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'InvoiceItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'invoice_items'", 'to': "orm['docs.Invoice']"}),
'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'qty': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '3'}),
'total_price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.measure': {
'Meta': {'ordering': "('order', 'name')", 'object_name': 'Measure'},
'code': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'full_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
'order': ('django.db.models.fields.PositiveIntegerField', [], {'default': 'None', 'null': 'True', 'blank': 'True'})
},
'docs.nakladn': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Nakladn'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_reason': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'doc_text': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'invoice': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['docs.Invoice']", 'blank': 'True', 'null': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'signed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.nakladnitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'NakladnItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'nakladn_items'", 'to': "orm['docs.Nakladn']"}),
'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'qty': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '3'}),
'total_price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'units_kod': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.platejka': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Platejka'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_info': ('django.db.models.fields.TextField', [], {'max_length': '1000'}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_total': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'payment_order': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'payment_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}),
'platej_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}),
'tax_base': ('django.db.models.fields.CharField', [], {'default': "u'\\u0422\\u041f'", 'max_length': '10'}),
'tax_bk': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'tax_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'tax_num': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'tax_okato': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'tax_period': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'tax_status': ('django.db.models.fields.CharField', [], {'default': "u'01'", 'max_length': '10'}),
'tax_type': ('django.db.models.fields.CharField', [], {'default': "u'\\u041d\\u0421'", 'max_length': '10'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
u'myauth.dokuser': {
'Meta': {'object_name': 'DokUser'},
'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '254'}),
'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
'profile': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'users'", 'null': 'True', 'to': u"orm['customer.UserProfile']"}),
'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30', 'blank': 'True'})
}
}
complete_apps = ['docs']
symmetrical = True

@ -0,0 +1,382 @@
# -*- coding: utf-8 -*-
from south.utils import datetime_utils as datetime
from south.db import db
from south.v2 import DataMigration
from django.db import models
class Migration(DataMigration):
def forwards(self, orm):
"Write your forwards methods here."
# Note: Don't use "from appname.models import ModelName".
# Use orm.ModelName to refer to models in this application,
# and orm['appname.ModelName'] for models in other applications.
measure = dict((m.name.lower(), m.code.lower()) for m in orm.Measure.objects.all())
measure[u'г'] = u'163'
for item in orm.NakladnItem.objects.all():
units = item.units.lower()
units_kod = measure.get(units)
if units_kod:
item.units_kod = units_kod
item.save()
def backwards(self, orm):
"Write your backwards methods here."
models = {
u'auth.group': {
'Meta': {'object_name': 'Group'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
},
u'auth.permission': {
'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
},
u'contenttypes.contenttype': {
'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
},
u'customer.bankaccount': {
'Meta': {'ordering': "['-created_at']", 'object_name': 'BankAccount'},
'account': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'bik': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'bank_accounts'", 'to': u"orm['customer.UserProfile']"}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'is_main': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'korr_account': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'short_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
u'customer.client': {
'Meta': {'ordering': "['name', '-created_at']", 'object_name': 'Client'},
'address': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'bank_account': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'bank_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'bank_bik': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'bank_korr_account': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'bank_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'clients'", 'to': u"orm['customer.UserProfile']"}),
'contact_email': ('django.db.models.fields.EmailField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_other': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'contact_phone': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'contact_skype': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'inn': ('django.db.models.fields.CharField', [], {'max_length': '12'}),
'kpp': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '9', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256', 'db_index': 'True'}),
'ogrn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '15'}),
'okpo': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
u'customer.userprofile': {
'Meta': {'object_name': 'UserProfile'},
'active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256'}),
'boss_midname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_sign': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'boss_surname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30'}),
'boss_title': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'confirmed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'email': ('django.db.models.fields.EmailField', [], {'default': "''", 'max_length': '75', 'blank': 'True'}),
'fax': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'fax_code': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'full_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'glavbuh_midname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
'glavbuh_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
'glavbuh_sign': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'glavbuh_surname': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'inn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '12'}),
'ip_reg_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'jur_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'kpp': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '9'}),
'logo': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'na_osnovanii': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256'}),
'ogrn': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '15'}),
'okpo': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'phone': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '20', 'blank': 'True'}),
'phone_code': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '10', 'blank': 'True'}),
'profile_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {}),
'real_address': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'site': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'stamp': ('django.db.models.fields.files.ImageField', [], {'default': "''", 'max_length': '100', 'blank': 'True'}),
'svid_gos_reg': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user_session_key': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'})
},
'docs.aktrabot': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'AktRabot'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_text': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'invoice': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['docs.Invoice']", 'blank': 'True', 'null': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'signed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.aktrabotitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'AktRabotItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'aktrabot_items'", 'to': "orm['docs.AktRabot']"}),
'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'qty': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '3'}),
'total_price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.aktsverki': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'AktSverki'},
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_mesto': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'end_date': ('django.db.models.fields.DateField', [], {}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'saldo_credit': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'saldo_debit': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'signed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'start_date': ('django.db.models.fields.DateField', [], {}),
'total_credit': ('django.db.models.fields.DecimalField', [], {'default': "'0.00'", 'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'total_debit': ('django.db.models.fields.DecimalField', [], {'default': "'0.00'", 'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'total_saldo': ('django.db.models.fields.DecimalField', [], {'default': "'0.00'", 'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.aktsverkiitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'AktSverkiItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'credit': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
'debit': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'aktsverki_items'", 'to': "orm['docs.AktSverki']"}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.country': {
'Meta': {'ordering': "('order', 'name')", 'object_name': 'Country'},
'code': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'full_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '60'}),
'order': ('django.db.models.fields.PositiveIntegerField', [], {'default': 'None', 'null': 'True', 'blank': 'True'})
},
'docs.currency': {
'Meta': {'ordering': "('order', 'name')", 'object_name': 'Currency'},
'abc_code': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'code': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '60'}),
'order': ('django.db.models.fields.PositiveIntegerField', [], {'default': 'None', 'null': 'True', 'blank': 'True'})
},
'docs.dover': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Dover'},
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_expire_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'dover_doc': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'dover_doc_date': ('django.db.models.fields.DateField', [], {}),
'dover_name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'dover_passport_date': ('django.db.models.fields.DateField', [], {}),
'dover_passport_num': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'dover_passport_org': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'dover_passport_ser': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.doveritem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'DoverItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dover_items'", 'to': "orm['docs.Dover']"}),
'qty': ('django.db.models.fields.PositiveIntegerField', [], {}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.faktura': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Faktura'},
'avance': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'currency': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['docs.Currency']", 'null': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_reason': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'doc_text': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}),
'fix_doc_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'fix_doc_num': ('django.db.models.fields.PositiveIntegerField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
'fixes': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'invoice': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['docs.Invoice']", 'blank': 'True', 'null': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'plat_doc_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'plat_doc_num': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '30', 'blank': 'True'}),
'receiver': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'receiver_fakturas'", 'null': 'True', 'to': u"orm['customer.Client']"}),
'sender': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'sender_fakturas'", 'null': 'True', 'to': u"orm['customer.Client']"}),
'signed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"}),
'user_is_sender': ('django.db.models.fields.BooleanField', [], {'default': 'False'})
},
'docs.fakturaitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'FakturaItem'},
'country_code': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'country_name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'gtd': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'ntd': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'faktura_items'", 'to': "orm['docs.Faktura']"}),
'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'qty': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '3'}),
'total_price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'units_kod': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.invoice': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Invoice'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'closed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_text': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'paid_status': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.invoiceitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'InvoiceItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'invoice_items'", 'to': "orm['docs.Invoice']"}),
'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'qty': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '3'}),
'total_price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.measure': {
'Meta': {'ordering': "('order', 'name')", 'object_name': 'Measure'},
'code': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'full_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
'order': ('django.db.models.fields.PositiveIntegerField', [], {'default': 'None', 'null': 'True', 'blank': 'True'})
},
'docs.nakladn': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Nakladn'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_reason': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
'doc_text': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '1000', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'invoice': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['docs.Invoice']", 'blank': 'True', 'null': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'signed_status': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
'docs.nakladnitem': {
'Meta': {'ordering': "('created_at',)", 'object_name': 'NakladnItem'},
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'nakladn_items'", 'to': "orm['docs.Nakladn']"}),
'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'qty': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '3'}),
'total_price': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
'units': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'units_kod': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
'docs.platejka': {
'Meta': {'ordering': "('-doc_date',)", 'object_name': 'Platejka'},
'bank_account': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.BankAccount']"}),
'client': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['customer.Client']"}),
'company': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.UserProfile']", 'null': 'True'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'doc_date': ('django.db.models.fields.DateField', [], {}),
'doc_info': ('django.db.models.fields.TextField', [], {'max_length': '1000'}),
'doc_num': ('django.db.models.fields.PositiveIntegerField', [], {}),
'doc_total': ('django.db.models.fields.DecimalField', [], {'max_digits': '10', 'decimal_places': '2'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'nds_value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
'payment_order': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
'payment_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}),
'platej_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '1'}),
'tax_base': ('django.db.models.fields.CharField', [], {'default': "u'\\u0422\\u041f'", 'max_length': '10'}),
'tax_bk': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'tax_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
'tax_num': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}),
'tax_okato': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'tax_period': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
'tax_status': ('django.db.models.fields.CharField', [], {'default': "u'01'", 'max_length': '10'}),
'tax_type': ('django.db.models.fields.CharField', [], {'default': "u'\\u041d\\u0421'", 'max_length': '10'}),
'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['myauth.DokUser']"})
},
u'myauth.dokuser': {
'Meta': {'object_name': 'DokUser'},
'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '254'}),
'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
'profile': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'users'", 'null': 'True', 'to': u"orm['customer.UserProfile']"}),
'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30', 'blank': 'True'})
}
}
complete_apps = ['docs']
symmetrical = True

@ -0,0 +1,8 @@
from .refs import Currency, Country, Measure
from .invoice import Invoice, InvoiceItem
from .aktrabot import AktRabot, AktRabotItem
from .aktsverki import AktSverki, AktSverkiItem
from .dover import Dover, DoverItem
from .platejka import Platejka
from .nakladn import Nakladn, NakladnItem
from .faktura import Faktura, FakturaItem

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save