示例#1
0
 def case_open(self):
     res = self.write({'state': 'open'})
     for (event_id, name) in self.name_get():
         message = _("The Event '%s' has been opened.") % name
         event_id = calendar.calendar_id2real_id(event_id)
         self.log(event_id, message)
     return res
    def case_close(self, cr, uid, ids, *args):
        for (id, name) in self.name_get(cr, uid, ids):
                message = _("The task '%s' has been closed.") % name
                id=calendar.calendar_id2real_id(id)
                self.log(cr, uid, id, message)

        self.write(cr, uid, ids, {'date_closed': \
                                  time.strftime('%Y-%m-%d %H:%M:%S')})
        cases = self.browse(cr, uid, ids)
        for case in cases:
            data = {'state': 'done', 'active': True}
            if not case.user_id:
                data['user_id'] = uid
            self.write(cr, uid, case.id, data)
        return True
示例#3
0
    def add_attendees(self):
        # Method for adding attendees to a session
        real_event_id = calendar_id2real_id(self.id)

        new_attendance_rec = []
        for enrollment in self.course_id.enrollment_ids:
            self.env.cr.execute("SELECT count(1) from menora_attendance"
               " WHERE partner_id = %s and session_id = %s", 
               (enrollment.partner_id.id, real_event_id))
            res = self.env.cr.fetchone()[0]
            if res == 0:
                vals = {
                    'partner_id': enrollment.partner_id.id,
                    'session_id': real_event_id,
                }
                attendance_rec = self.env['menora.attendance'].create(vals)
                new_attendance_rec.append(attendance_rec)

        return new_attendance_rec
示例#4
0
    def write(self, values):
        ret = super(course_session,self).write(values)
        if  values.get('count', self.count) or values.get('final_date', self.final_date) and values.get('active', self.active) :
            real_event_id = calendar_id2real_id(self.id)
            sessions = self.search([('course_id', '=', self.course_id.id), 
                                    ('id', '=', real_event_id)])
            rsessions = self.search([('course_id', '=', self.course_id.id), 
                                    ('id', '!=', real_event_id)])
            for ses in sessions:
                start = ses.start_date if ses.allday else ses.start_datetime
                start = fields.Datetime.from_string(start).replace(hour=0, minute=0, second=0, microsecond=0)
                stop = start.replace(hour=23, minute=59, second=59, microsecond=999)
                for rses in rsessions:
                    rstart = fields.Datetime.from_string(rses.start)
                    if start <= rstart and rstart <= stop:
                        start = fields.Datetime.to_string(start)
                        raise except_orm('Error','There is a Course Session with date %s' % (start))

        return ret 
 def case_open(self, cr, uid, ids, *args):
     """Confirms task
     @param self: The object pointer
     @param cr: the current row, from the database cursor,
     @param uid: the current user’s ID for security checks,
     @param ids: List of task Ids
     @param *args: Tuple Value for additional Params
     """
     if ids:
         for (id, name) in self.name_get(cr, uid, ids):
             message = _("The task '%s' has been confirmed.") % name
             id=calendar.calendar_id2real_id(id)
             self.log(cr, uid, id, message)
         cases = self.browse(cr, uid, ids)
         for case in cases:
             data = {'state': 'open', 'active': True}
             if not case.user_id:
                 data['user_id'] = uid
             self.write(cr, uid, case.id, data)
     return True
示例#6
0
    def detach_one_event(self):
        real_event_id = calendar_id2real_id(self.id)
        data = dict()
        data['start_date' if self.allday else 'start_datetime'] = self.start
        data['stop_date' if self.allday else 'stop_datetime'] = self.stop
        if self.rrule:
            data.update(
                recurrent_id=real_event_id,
                recurrent_id_date=self.start,
                rrule_type=False,
                rrule='',
                recurrency=False,
                final_date=datetime.strptime(self.start, 
                   DEFAULT_SERVER_DATE_FORMAT if self.allday
                   else DEFAULT_SERVER_DATETIME_FORMAT) 
                   + timedelta(hours=self.duration)
            )

            new_session = self.copy(default=data)

            return new_session
        else:
            return self