# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.db import models
from django.conf import settings
from datetime import datetime
from django.utils import timezone
# from prostopages.models import *

from ckeditor_uploader.fields import RichTextUploadingField
from ckeditor.fields import RichTextField




# Прайс косметический сервис
class Price_kosmetic(models.Model):
	name_block = models.CharField(u'Название', max_length=5000, null=True, blank=True)
	name_stroka = models.CharField(u'Первый столбец', max_length=5000, null=True, blank=True)
	time = models.CharField(u'Второй столбец', max_length=5000, null=True, blank=True)
	price = models.CharField(u'Третий столбец', max_length=5000, null=True, blank=True)
	url = models.CharField(u'Четвертый столбец', max_length=5000, null=True, blank=True)
	knopka = models.BooleanField(default=False,verbose_name='Строка является шапкой?')
	nomer_id = models.PositiveIntegerField(u'Порядок строки',  null=True, blank=True)
	css_code = models.CharField(u'Произвольный css код', max_length=5000, null=True, blank=True)
	
	colspan1 = models.DecimalField(u'Добавить к первой ячейке по горизонтали', max_digits=5, decimal_places=0, max_length=255, null=True, blank=True)
	rowspan1 = models.DecimalField(u'Добавить к первой ячейке по вертикали', max_digits=5, decimal_places=0, max_length=255, null=True, blank=True)
	colspan2 = models.DecimalField(u'Добавить к второй ячейке по горизонтали', max_digits=5, decimal_places=0, max_length=255, null=True, blank=True)
	rowspan2 = models.DecimalField(u'Добавить к второй ячейке по вертикали', max_digits=5, decimal_places=0, max_length=255, null=True, blank=True)
	colspan3 = models.DecimalField(u'Добавить к третьей ячейке по горизонтали', max_digits=5, decimal_places=0, max_length=255, null=True, blank=True)
	rowspan3 = models.DecimalField(u'Добавить к третьей ячейке по вертикали', max_digits=5, decimal_places=0, max_length=255, null=True, blank=True)
	colspan4 = models.DecimalField(u'Добавить к четвертой ячейке по горизонтали', max_digits=5, decimal_places=0, max_length=255, null=True, blank=True)
	rowspan4 = models.DecimalField(u'Добавить к четвертой ячейке по вертикали', max_digits=5, decimal_places=0, max_length=255, null=True, blank=True)


	active = models.BooleanField(default=True,verbose_name='Активность',)
	created_at = models.DateTimeField(auto_now_add=True, null=True, blank=True, verbose_name="Дата начала акции")
	updated_at = models.DateTimeField(auto_now=True, verbose_name="Updated at")
	
	def __str__(self):
		return self.name_block

	class Meta:
		verbose_name = "Косметический сервис"
		verbose_name_plural = "Косметический сервис"
		ordering = ["nomer_id"]


# Прайс ногтевой сервис
class Price_nogtevoi(models.Model):
	name_block = models.CharField(u'Название', max_length=5000, null=True, blank=True)
	name_stroka = models.CharField(u'Первый столбец', max_length=5000, null=True, blank=True)
	time = models.CharField(u'Второй столбец', max_length=5000, null=True, blank=True)
	price = models.CharField(u'Третий столбец', max_length=5000, null=True, blank=True)
	url = models.CharField(u'Четвертый столбец', max_length=5000, null=True, blank=True)
	knopka = models.BooleanField(default=False,verbose_name='Строка шапка?')
	nomer_id = models.PositiveIntegerField(u'Порядок строки',  null=True, blank=True)
	css_code = models.CharField(u'Произвольный css код', max_length=5000, null=True, blank=True)

	colspan1 = models.DecimalField(u'Добавить к первой ячейке по горизонтали', max_digits=5, decimal_places=0, max_length=255, null=True, blank=True)
	rowspan1 = models.DecimalField(u'Добавить к первой ячейке по вертикали', max_digits=5, decimal_places=0, max_length=255, null=True, blank=True)
	colspan2 = models.DecimalField(u'Добавить к второй ячейке по горизонтали', max_digits=5, decimal_places=0, max_length=255, null=True, blank=True)
	rowspan2 = models.DecimalField(u'Добавить к второй ячейке по вертикали', max_digits=5, decimal_places=0, max_length=255, null=True, blank=True)
	colspan3 = models.DecimalField(u'Добавить к третьей ячейке по горизонтали', max_digits=5, decimal_places=0, max_length=255, null=True, blank=True)
	rowspan3 = models.DecimalField(u'Добавить к третьей ячейке по вертикали', max_digits=5, decimal_places=0, max_length=255, null=True, blank=True)
	colspan4 = models.DecimalField(u'Добавить к четвертой ячейке по горизонтали', max_digits=5, decimal_places=0, max_length=255, null=True, blank=True)
	rowspan4 = models.DecimalField(u'Добавить к четвертой ячейке по вертикали', max_digits=5, decimal_places=0, max_length=255, null=True, blank=True)


	active = models.BooleanField(default=True,verbose_name='Активность',)
	created_at = models.DateTimeField(auto_now_add=True, null=True, blank=True, verbose_name="Дата начала акции")
	updated_at = models.DateTimeField(auto_now=True, verbose_name="Updated at")
	
	def __str__(self):
		return self.name_block

	class Meta:
		verbose_name = "Ногтевой сервис"
		verbose_name_plural = "Ногтевой сервис"
		ordering = ["nomer_id"]


# Прайс парихмахерский сервис
class Price_parihmaxer(models.Model):
	name_block = models.CharField(u'Название', max_length=5000, null=True, blank=True)
	name_stroka = models.CharField(u'Первый столбец', max_length=5000, null=True, blank=True)
	time = models.CharField(u'Второй столбец', max_length=5000, null=True, blank=True)
	price = models.CharField(u'Третий столбец', max_length=5000, null=True, blank=True)
	url = models.CharField(u'Четвертый столбец', max_length=5000, null=True, blank=True)
	dopstolb = models.CharField(u'Пятый столбец', max_length=800, null=True, blank=True)
	knopka = models.BooleanField(default=False,verbose_name='Строка шапка?')
	nomer_id = models.PositiveIntegerField(u'Порядок строки',  null=True, blank=True)
	css_code = models.CharField(u'Произвольный css код', max_length=5000, null=True, blank=True)
	
	colspan1 = models.DecimalField(u'Добавить к первой ячейке по горизонтали', max_digits=5, decimal_places=0, max_length=255, null=True, blank=True)
	rowspan1 = models.DecimalField(u'Добавить к первой ячейке по вертикали', max_digits=5, decimal_places=0, max_length=255, null=True, blank=True)
	colspan2 = models.DecimalField(u'Добавить к второй ячейке по горизонтали', max_digits=5, decimal_places=0, max_length=255, null=True, blank=True)
	rowspan2 = models.DecimalField(u'Добавить к второй ячейке по вертикали', max_digits=5, decimal_places=0, max_length=255, null=True, blank=True)
	colspan3 = models.DecimalField(u'Добавить к третьей ячейке по горизонтали', max_digits=5, decimal_places=0, max_length=255, null=True, blank=True)
	rowspan3 = models.DecimalField(u'Добавить к третьей ячейке по вертикали', max_digits=5, decimal_places=0, max_length=255, null=True, blank=True)
	colspan4 = models.DecimalField(u'Добавить к четвертой ячейке по горизонтали', max_digits=5, decimal_places=0, max_length=255, null=True, blank=True)
	rowspan4 = models.DecimalField(u'Добавить к четвертой ячейке по вертикали', max_digits=5, decimal_places=0, max_length=255, null=True, blank=True)
	colspan5 = models.DecimalField(u'Добавить к пятой ячейке по горизонтали', max_digits=5, decimal_places=0, max_length=255, null=True, blank=True)
	rowspan5 = models.DecimalField(u'Добавить к пятой ячейке по вертикали', max_digits=5, decimal_places=0, max_length=255, null=True, blank=True)


	active = models.BooleanField(default=True,verbose_name='Активность',)
	created_at = models.DateTimeField(auto_now_add=True, null=True, blank=True, verbose_name="Дата начала акции")
	updated_at = models.DateTimeField(auto_now=True, verbose_name="Updated at")
		
	def __str__(self):
		return self.name_block

	class Meta:
		verbose_name = "Парихмахерский сервис"
		verbose_name_plural = "Парихмахерский сервис"
		ordering = ["nomer_id"]

# Прайс коллариум
class Price_kolarium(models.Model):
	name_block = models.CharField(u'Название', max_length=5000, null=True, blank=True)
	name_stroka = models.CharField(u'Первый столбец', max_length=5000, null=True, blank=True)
	time = models.CharField(u'Второй столбец', max_length=5000, null=True, blank=True)
	price = models.CharField(u'Третий столбец', max_length=5000, null=True, blank=True)
	url = models.CharField(u'Четвертый столбец', max_length=5000, null=True, blank=True)
	knopka = models.BooleanField(default=False,verbose_name='Строка является шапкой?')
	nomer_id = models.PositiveIntegerField(u'Порядок строки',  null=True, blank=True)
	css_code = models.CharField(u'Произвольный css код', max_length=5000, null=True, blank=True)
	
	colspan1 = models.DecimalField(u'Добавить к первой ячейке по горизонтали', max_digits=5, decimal_places=0, max_length=255, null=True, blank=True)
	rowspan1 = models.DecimalField(u'Добавить к первой ячейке по вертикали', max_digits=5, decimal_places=0, max_length=255, null=True, blank=True)
	colspan2 = models.DecimalField(u'Добавить к второй ячейке по горизонтали', max_digits=5, decimal_places=0, max_length=255, null=True, blank=True)
	rowspan2 = models.DecimalField(u'Добавить к второй ячейке по вертикали', max_digits=5, decimal_places=0, max_length=255, null=True, blank=True)
	colspan3 = models.DecimalField(u'Добавить к третьей ячейке по горизонтали', max_digits=5, decimal_places=0, max_length=255, null=True, blank=True)
	rowspan3 = models.DecimalField(u'Добавить к третьей ячейке по вертикали', max_digits=5, decimal_places=0, max_length=255, null=True, blank=True)
	colspan4 = models.DecimalField(u'Добавить к четвертой ячейке по горизонтали', max_digits=5, decimal_places=0, max_length=255, null=True, blank=True)
	rowspan4 = models.DecimalField(u'Добавить к четвертой ячейке по вертикали', max_digits=5, decimal_places=0, max_length=255, null=True, blank=True)


	active = models.BooleanField(default=True,verbose_name='Активность',)
	created_at = models.DateTimeField(auto_now_add=True, null=True, blank=True, verbose_name="Дата начала акции")
	updated_at = models.DateTimeField(auto_now=True, verbose_name="Updated at")
		
	def __str__(self):
		return self.name_block

	class Meta:
		verbose_name = "Солярий / Коллагенарий / коллариум"
		verbose_name_plural = "Солярий / Коллагенарий / коллариум"
		ordering = ["nomer_id"]



#Страницы прайсов

class Price_pages(models.Model):
	name_block = models.CharField(u'Заголовок страницы прайса', max_length=255, null=True, blank=True)

	price_kosmetic = models.ManyToManyField('Price_kosmetic',  verbose_name='Добавить в косметический сервис', blank=True)
	price_nogtevoi = models.ManyToManyField('Price_nogtevoi',  verbose_name='Добавить в ногтевой сервис', blank=True)
	price_parihmaxer = models.ManyToManyField('Price_parihmaxer',  verbose_name='Добавить в парихмахерский сервис', blank=True)
	price_kolarium = models.ManyToManyField('Price_kolarium',  verbose_name='Добавить в солярий/коллагенарий/коллариум сервис', blank=True)

	active = models.BooleanField(default=True,verbose_name='Активность',)
	created_at = models.DateTimeField(auto_now_add=True, null=True, blank=True, verbose_name="Created at")
	updated_at = models.DateTimeField(auto_now=True, verbose_name="Updated at")
	price_slug = models.SlugField(unique=True, verbose_name='Url', db_index=True)
	template_name = models.CharField(
		('Выбор шаблона'),
		max_length=70,
		blank=True,
		help_text=(
			"Пример: 'price/price2.html'. Если не указано,  "
			"система будет использовать 'price/price.html'."
		),
	)
	title_us = models.CharField(u'Тайтл', max_length=255, null=True, blank=True)
	description = models.TextField(u'Дескрипшон', null=True, blank=True )
	keywords = models.CharField(u'Кейвордс', max_length=255, null=True, blank=True)

	def __str__(self):
		return self.name_block

	# переопределение названий
	class Meta:
		verbose_name = "Страницу прайса"
		verbose_name_plural = "Страницы прайсов"
		ordering = ["created_at"]


	def get_absolute_url(self):
		return "/uslugi/%s/" % (self.price_slug)
	

	def save(self, *args, **kwargs):
		if not self.price_slug:
			lastid = Price_pages.objects.latest('id')
			self.price_slug =  createslug(self.name_block)
		super(Price_pages, self).save(*args, **kwargs)


	def image_img(self):
		if self.image:
			return u'<a href="{0}" target="_blank"><img src="{0}" width="150"/></a>'.format(self.image.url)
		else:
			return '(Нет изображения)'
	image_img.short_description = 'Картинка'
	image_img.allow_tags = True