| | 1 | #!/usr/bin/python |
| | 2 | # -*- coding: utf-8 -*- |
| | 3 | |
| | 4 | """ |
| | 5 | """ |
| | 6 | |
| | 7 | from django.db import models |
| | 8 | from django.contrib import admin |
| | 9 | from django.conf import settings |
| | 10 | from django.core.cache import cache |
| | 11 | from django.utils.translation import ugettext as _ |
| | 12 | from django.contrib.auth.models import User, Group |
| | 13 | |
| | 14 | TYPE_CHOICES = ( |
| | 15 | ('C', 'CMS-Page'), |
| | 16 | ('P', 'PluginPage'), |
| | 17 | ) |
| | 18 | MARKUPS = ( |
| | 19 | (1,'plain'), |
| | 20 | (2,'html'), |
| | 21 | (3,'html+edit'), |
| | 22 | (4,'markdown'), |
| | 23 | (5,'wasweissich') |
| | 24 | ) |
| | 25 | |
| | 26 | |
| | 27 | class Page(models.Model): |
| | 28 | id = models.AutoField(primary_key=True) |
| | 29 | |
| | 30 | parent = models.ForeignKey("self", null=True,blank=True) |
| | 31 | position = models.IntegerField(default=0) |
| | 32 | slug = models.SlugField(unique=False) |
| | 33 | description = models.CharField(blank=True,max_length=150, help_text="For internal use") |
| | 34 | |
| | 35 | type = models.CharField(max_length=1, choices=TYPE_CHOICES) |
| | 36 | |
| | 37 | # template = models.ForeignKey("Template") |
| | 38 | # style = models.ForeignKey("Style") |
| | 39 | |
| | 40 | class Meta: |
| | 41 | unique_together =(("slug","parent")) |
| | 42 | |
| | 43 | class Language(models.Model): |
| | 44 | code = models.CharField(unique=True,max_length=5) |
| | 45 | description = models.CharField(max_length=150,help_text="Description of the Language") |
| | 46 | |
| | 47 | class PageContent(models.Model): |
| | 48 | page = models.ForeignKey(Page) |
| | 49 | lang = models.ForeignKey(Language) |
| | 50 | |
| | 51 | title = models.CharField(blank=True,max_length=150) |
| | 52 | content = models.TextField(blank = True) |
| | 53 | keywords = models.CharField(blank=True, max_length=255) |
| | 54 | description = models.CharField(blank=True, max_length=255, help_text="For html header") |
| | 55 | |
| | 56 | # template = models.ForeinKey("Template") |
| | 57 | # style = models.ForeignKey("Style") |
| | 58 | |
| | 59 | markup = models.IntegerField(db_column="markup_id", max_length=1, choices=MARKUPS) |
| | 60 | |
| | 61 | class Meta: |
| | 62 | unique_together = (("page","lang")) |