Statistics
| Branch: | Tag: | Revision:

root / cloudcms / models.py @ 8dd49103

History | View | Annotate | Download (3.3 kB)

1
# Copyright 2012 GRNET S.A. All rights reserved.
2
#
3
# Redistribution and use in source and binary forms, with or
4
# without modification, are permitted provided that the following
5
# conditions are met:
6
#
7
#   1. Redistributions of source code must retain the above
8
#      copyright notice, this list of conditions and the following
9
#      disclaimer.
10
#
11
#   2. Redistributions in binary form must reproduce the above
12
#      copyright notice, this list of conditions and the following
13
#      disclaimer in the documentation and/or other materials
14
#      provided with the distribution.
15
#
16
# THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS
17
# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR
20
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
21
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
23
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
24
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
26
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27
# POSSIBILITY OF SUCH DAMAGE.
28
#
29
# The views and conclusions contained in the software and
30
# documentation are those of the authors and should not be
31
# interpreted as representing official policies, either expressed
32
# or implied, of GRNET S.A.
33

    
34

    
35
from django.db import models
36
from django.conf import settings
37
from django.contrib.sites import models as sites_models
38

    
39
from feincms.module.medialibrary.fields import MediaFileForeignKey
40
from feincms.module.medialibrary.models import MediaFile
41

    
42

    
43
class Application(models.Model):
44
    code = models.CharField('Identifier', max_length=100, null=False, blank=False,
45
            help_text="Just a codename of the application, to be used in "\
46
                    "several places where no free text is allowed"\
47
                    "(e.g. urls, paths, etc)")
48
    title = models.CharField(max_length=255, null=False, blank=False,
49
            help_text="The title of the application")
50

    
51
    logo = MediaFileForeignKey(MediaFile, blank=True, null=True)
52
    favicon = MediaFileForeignKey(MediaFile, blank=True, null=True,
53
            related_name="as_favicon")
54
    site = models.ForeignKey(sites_models.Site)
55
    app_url = models.URLField(help_text="The url of the application UI (not "\
56
            "the cms", verify_exists=False, blank=True, null=True)
57
    index_url = models.CharField(max_length=255, default="/", blank=False,
58
            null=False)
59
    linked_in_username = models.CharField(max_length=255, blank=True)
60
    twitter_username = models.CharField(max_length=255, blank=True)
61
    facebook_username = models.CharField(max_length=255, blank=True)
62

    
63
    show_twitter_feed_on_top = models.BooleanField(default=False)
64
    extra_styles = models.TextField(default="", blank=True)
65

    
66
    footer_top = models.TextField(default="", blank=True)
67
    footer_bottom = models.TextField(default="", blank=True)
68

    
69
    @classmethod
70
    def current(cls):
71
        return cls.objects.get(site__pk=settings.SITE_ID)
72

    
73
    def __unicode__(self):
74
        return self.title
75

    
76

    
77
# hook for feincms configuration, is this appropriate place ??? who knows
78
from cloudcms.cms import *
79