Пример #1
0
    def __init__ (self, *args, **kwargs):
        super (EventEditForm, self).__init__ (*args, **kwargs)

        if "instance" in kwargs and self.timezone:
            instance = kwargs["instance"]
            print kwargs
            print args
            if not "initial" in kwargs:
                kwargs["initial"] = {}

            kwargs["initial"].update ({"start": localtime_for_timezone (instance.start, self.timezone)})
            kwargs["initial"].update ({"end": localtime_for_timezone (instance.start, self.timezone)})
Пример #2
0
    def __init__(self, *args, **kwargs):
        super(EventEditForm, self).__init__(*args, **kwargs)

        if "instance" in kwargs and self.timezone:
            instance = kwargs["instance"]
            print kwargs
            print args
            if not "initial" in kwargs:
                kwargs["initial"] = {}

            kwargs["initial"].update({
                "start":
                localtime_for_timezone(instance.start, self.timezone)
            })
            kwargs["initial"].update(
                {"end": localtime_for_timezone(instance.start, self.timezone)})
Пример #3
0
 def test_localtime_for_timezone(self):
     self.assertEqual(
         localtime_for_timezone(
             datetime(2008, 6, 25, 18, 0,
                      0), "America/Denver").strftime("%m/%d/%Y %H:%M:%S"),
         "06/25/2008 12:00:00",
     )
Пример #4
0
def message_reply(request, id, all=False):
    from timezones.utils import localtime_for_timezone
    from django.utils import dateformat
    message = get_object_or_404(PMMessage, pk=id)
    if not (request.user == message.sender or request.user in message.recipients.all()):
        raise Http403
    if message.sender != request.user:
        recipients = set([message.sender])
    else:
        recipients = set()
    if all:
        recipients.update(message.recipients.exclude(pk=request.user.pk))
    if message.subject.startswith("RE: "):
        subject = message.subject
    else:
        subject = u"RE: %s" % message.subject
    messageDate = localtime_for_timezone(message.created, request.user.profile.get().timezone)
    text = [_('On %(date)s, %(name)s wrote:') % {'date': dateformat.format(messageDate, "r"), 'name': message.sender}]
    for line in message.text.splitlines():
        text.append(u"> %s" % line)
    text.append(u"\n")  
    form = MessageForm(initial={'subject': subject, 'text': "\n".join(text)})
    return render_to_response('djangopm/message_compose.html',
                            {'form': form, 'recipients': recipients}, 
                            context_instance = RequestContext(request))          
Пример #5
0
 def test_localtime_for_timezone(self):
     self.assertEqual(
         localtime_for_timezone(
             datetime(2008, 6, 25, 18, 0, 0), "America/Denver"
         ).strftime("%m/%d/%Y %H:%M:%S"),
         "06/25/2008 12:00:00"
     )
 def test_assign_to_datetime_properties_updates_real_datetime_properties(self):
     new_date = self.start + timedelta(days=5)
     dts = [
         localtime_for_timezone(new_date, 'UTC'),
         localtime_for_timezone(new_date, 'America/Chicago'),
         localtime_for_timezone(new_date, 'Asia/Shanghai'),
         localtime_for_timezone(new_date, 'Europe/London'),
         localtime_for_timezone(new_date, 'Australia/Sydney'),
     ]
     expected = new_date
     for attr in ('start', 'finish'):
         for dt in dts:
             setattr(self.localized, attr, dt)
             assert_equal(getattr(self.localized, 'real_%s' % attr), expected)
             self.localized.save()
             occurrence = Occurrence.objects.get(pk=self.occurrence.pk)
             assert_equal(getattr(occurrence, attr), expected)
Пример #7
0
def formatdate(user, date, display_time = None):
    """
    Formats a given date.
    """
    get_hours = False
    if isinstance(date, datetime.datetime):
        get_hours = True
        if display_time == 'False':
            get_hours = False
    tzdate = localtime_for_timezone(date, user.get_profile().timezone)
    return {'date' : tzdate, 'get_hours': get_hours}
Пример #8
0
def formatdate(user, date, display_time=None):
    """
    Formats a given date.
    """
    get_hours = False
    if isinstance(date, datetime.datetime):
        get_hours = True
        if display_time == 'False':
            get_hours = False
    tzdate = localtime_for_timezone(date, user.get_profile().timezone)
    return {'date': tzdate, 'get_hours': get_hours}
Пример #9
0
def localtime(value, request, show_since=True):
    if request.user.is_authenticated():
        tz = request.user.get_profile().time_zone
        js = ""
    else:
        tz = settings.TIME_ZONE
        seconds = time.mktime(value.timetuple())
        seconds += (value.microsecond / 1000000.0)
        js = " onload='localtime(%i, this);'" % (seconds * 1000)
    loc_dt = localtime_for_timezone(value, tz)
    dt_str = loc_dt.strftime(settings.SITE_DATETIME_FORMAT)
    title = " title='%s ago'" % timesince(value) if show_since else ""
    return mark_safe("<span class='datetime'%s%s>%s </span>" % 
                     (title, js, dt_str))
Пример #10
0
 def default(self, o):
     if isinstance(o, datetime.datetime):
         d = datetime_safe.new_datetime(o)
         if self.timezone:
             d = localtime_for_timezone(d, self.timezone)
         return d.strftime("%s %s" % (self.DATE_FORMAT, self.TIME_FORMAT))
     elif isinstance(o, datetime.date):
         d = datetime_safe.new_date(o)
         return d.strftime(self.DATE_FORMAT)
     elif isinstance(o, datetime.time):
         return o.strftime(self.TIME_FORMAT)
     elif isinstance(o, decimal.Decimal):
         return str(o)
     else:
         return super(DjangoJSONEncoder, self).default(o)
Пример #11
0
def index(request):
    time_zone = request.user.get_profile().time_zone
    localtime = localtime_for_timezone(datetime.datetime.now(),time_zone)
    start_of_today = localtime.replace(hour=0,minute=0,second=0,microsecond=0)
    start_of_today_utc = adjust_datetime_to_timezone(start_of_today, time_zone, 'UTC')
    start_of_today_utc_raw = start_of_today_utc.replace(tzinfo=None)

    pending_tasks = Task.active.filter(
        user = request.user,
        completed_at__isnull = True,
        backlogged = False
    ).order_by('-created_at')

    completed_today = Task.active.filter(
        user = request.user,
        completed_at__gte = start_of_today_utc_raw
    ).order_by('-created_at')

    if request.REQUEST.has_key('days_back') and request.REQUEST['days_back'].isdigit():
        days_back = int(request.REQUEST['days_back']) + 1
    else:
        days_back = DEFAULT_DAYS_BACK

    completed_lists = [
        Task.active.filter(
            user = request.user,
            completed_at__gte = start_of_today_utc_raw - datetime.timedelta(days=delta),
            completed_at__lt = start_of_today_utc_raw - datetime.timedelta(days=delta) + datetime.timedelta(days=1)
        ).order_by('-created_at')
        for delta in range(1, days_back)
    ]

    return render_to_response('tasks/index.html',
        {
            'time_zone': time_zone,
            'new_task_form' : CreateTaskForm(request.user),
            'pending_tasks' : pending_tasks,
            'completed_today' : completed_today,
            'completed_lists': completed_lists
        },
        context_instance=RequestContext(request)
    )
Пример #12
0
def localtime(value, timezone):
    return value and localtime_for_timezone(value, timezone) or value
Пример #13
0
def localtime(value, timezone):
    return localtime_for_timezone(value, timezone)
Пример #14
0
def servertime_to_usertime(value): 
    return localtime_for_timezone(value, settings.USER_TIME_ZONE)
Пример #15
0
def localtime(value, timezone):
    return localtime_for_timezone(value, timezone)
Пример #16
0
def localtime(value, timezone):
    if not value:
        return timezone
    return localtime_for_timezone(value, timezone)
Пример #17
0
def servertime_to_usertime(value):
    return localtime_for_timezone(value, settings.USER_TIME_ZONE)
 def _get_datetime_attr(self, attrname):
     dt = getattr(self._obj, attrname)
     return localtime_for_timezone(dt, self.timezone)
 def test_datetime_properties_localized_to_specified_timezone(self):
     expected = localtime_for_timezone(self.start, self.timezone)
     assert_equal(self.localized.start, expected)
     expected = localtime_for_timezone(self.finish, self.timezone)
     assert_equal(self.localized.finish, expected)