src/cm/models_utils.py
author Simon Descarpentries <sid@sopinspace.com>
Mon, 21 Oct 2013 16:37:07 +0200
changeset 553 bf26fb47a14c
parent 0 40c8f766c9b8
permissions -rw-r--r--
To allow scrolling in Safari mobile, we set the content of text_view_comments frame in a jQuery UI layout. So the automated scrolling operations in c_sync.js must be adjustable to the right part to scroll. Also, if a comment have to be shown outside of the current viewport, we scroll the correct part to that viewport and then set the comment top Y offset to juste what it needs to avoid the "Add comment" button after scrolling operation. If not in Safari mobile, we add an offset here to avoid comment to display under the "Add comment" button.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     1
# models used to internal work
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     2
from django.db import models
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     3
from django.contrib.auth.models import User
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     4
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     5
 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     6
class Email(models.Model):
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     7
    """
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     8
    Simple (no multipart support) email storage
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     9
    """
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    10
    created = models.DateTimeField(auto_now_add=True)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    11
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    12
    subject = models.TextField()
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    13
    body = models.TextField()
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    14
    from_email = models.TextField()
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    15
    to = models.TextField()
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    16
    bcc = models.TextField()
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    17
    message = models.TextField() #full message
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    18
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    19
    def get_recipents_number(self):
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    20
        from cm.utils.mail import LIST_SEP
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    21
        res = 0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    22
        if self.to:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    23
            res = len(self.to.split(LIST_SEP))
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    24
        if self.bcc:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    25
            res += len(self.bcc.split(LIST_SEP))
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    26
        return res
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    27
      
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    28
    get_recipents_number.short_description = "#recipients"
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    29
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    30
    def __unicode__(self):
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    31
        return ' '.join([self.from_email, self.to, self.subject])
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    32