コード例 #1
0
ファイル: schedules.py プロジェクト: ematthews/openduty
def save(request):
    try:
        sched = Calendar.objects.get(id = request.POST['id'])
    except Calendar.DoesNotExist:
        sched = Calendar()

    sched.name = request.POST['name']
    sched.slug = request.POST['slug']
    try:
        sched.save()
        return HttpResponseRedirect('/schedules/');
    except IntegrityError:
        messages.error(request, 'Schedule already exists')
        if int(request.POST['id']) > 0:
            return HttpResponseRedirect(reverse('openduty.schedules.edit', None, [str(request.POST['id'])]))
        else:
            return HttpResponseRedirect(reverse('openduty.schedules.new'))
コード例 #2
0
def save(request):
    try:
        sched = Calendar.objects.get(slug=request.POST['slug'])
    except Calendar.DoesNotExist:
        sched = Calendar()

    sched.name = request.POST['name']
    sched.slug = request.POST['slug']
    try:
        sched.save()
        return HttpResponseRedirect('/schedules/')
    except IntegrityError:
        messages.error(request, 'Schedule already exists')
        if request.POST['slug']:
            return HttpResponseRedirect(reverse('openduty.schedules.edit', None, [request.POST['slug']]))
        else:
            return HttpResponseRedirect(reverse('openduty.schedules.new'))
コード例 #3
0
ファイル: models.py プロジェクト: mcfoi/seipetali
    def save(self, *args, **kwargs):

        if not self.calendar_id:
            if self.pk:
                self.calendar = Calendar.objects.get_or_create_calendar_for_object(
                    self)
            else:
                name = u'Calendar ' + datetime.now().strftime("%Y%m%d-%H%M%S")
                calendar = Calendar(name=name)
                calendar.slug = slugify(calendar.name)
                calendar.save()
                self.calendar = calendar
                obj = super(Alloggio, self).save(*args, **kwargs)
                calendar.create_relation(self)
                return obj

        return super(Alloggio, self).save(*args, **kwargs)
コード例 #4
0
def create_task(data, creator):
    task = Task()
    # If it the task has a due date we store it
    if 'due_date' in data:
        date = datetime.datetime.strptime(data.get('due_date', None),
                                          "%Y-%m-%d%z")
        if 'due_time' in data:
            hour = datetime.datetime.strptime(data.get('due_time', None),
                                              "%H:%M%z").time()
        else:
            hour = datetime.datetime.max.time()
        final = date.replace(hour=hour.hour,
                             minute=hour.minute,
                             second=hour.second)
        task.start = final
        task.end = final
    # if not has a due date, we set epoch 0, because dates fields
    # are required.
    else:
        task.start = datetime.datetime.fromtimestamp(0)
        task.end = datetime.datetime.fromtimestamp(0)

    task.end_recurring_period = data.get('end_recurring_period', None)
    task.description = data.get('additional_info', '')
    task.title = data.get('name', None)
    task.creator = creator
    if 'rule' in data:
        ruleData = data.get('rule') if type(
            data.get('rule')) is dict else json.loads(data.get('rule'))
        if 'id' in ruleData:
            task.rule = Rule.objects.get(pk=ruleData['id'])
        else:
            rule, created = Rule.objects.get_or_create(
                frequency=ruleData['frequency'], params=ruleData['params'])
            if created:
                rule.name = data.get('name')[:20]
            rule.save()
            task.rule = rule

    try:
        cal = Calendar.objects.get(name=creator.aerosimple_user.airport.code)
    except Calendar.DoesNotExist:
        cal = Calendar(name=creator.aerosimple_user.airport.code)
        cal.slug = slugify(cal.name)
        cal.save()
    task.calendar = cal

    # Task specific fields
    task.privacy = data.get('privacy', None)
    if 'due_date' in data:
        dd = datetime.datetime.strptime(data.get('due_date', None),
                                        "%Y-%m-%d%z")
        task.due_date = dd.date()
    task.due_time = data.get('due_time', None)
    task.completed = data.get('completed', False)
    task.attached = data.get('attached', None)
    task.label = data.get('label', None)

    if 'assigned_user' in data:
        task.assigned_user = AerosimpleUser.objects.get(
            id=int(data.get('assigned_user')))
    if 'assigned_role' in data:
        task.assigned_role = Role.objects.get(
            id=int(data.get('assigned_role')))
    task.airport = creator.aerosimple_user.airport
    task.save()

    return task