Example #1
0
def slots(adate, apptix, start, apdata, fin):
    '''
    takes data like  830 ((830, 845), (900, 915), (1115, 1130), (1300, 1400),
    (1400, 1420), (1600, 1630)) 1800
    and returns a tuple of results like (FreeSlot, FreeSlot, ....)
    '''
    #--slotlength is required appt  length, in minutes

    #-- modified this on 18_11_2009, for the situation when a clinician's day
    #-- start may be later than any first appointment in that book
    #-- this facilitates having lunch etc.. already in place for a non used
    #-- day.
    aptstart = localsettings.minutesPastMidnight(start)
    dayfin = localsettings.minutesPastMidnight(fin)
    if dayfin <= aptstart:
        return ()
    results = []
    for ap in apdata:
        sMin = localsettings.minutesPastMidnight(ap[0])
        fMin = localsettings.minutesPastMidnight(ap[1])
        slength = sMin - aptstart
        if slength > 0:
            date_time = datetime.datetime.combine(adate,
            localsettings.minutesPastMidnightToPyTime(aptstart))

            slot = FreeSlot(date_time, apptix, slength)
            results.append(slot)

        if fMin > aptstart:
            aptstart = fMin
        if aptstart >= dayfin:
            break

    slength = dayfin - aptstart
    if slength > 0:
        date_time = datetime.datetime.combine(adate,
        localsettings.minutesPastMidnightToPyTime(aptstart))

        slot = FreeSlot(date_time, apptix, slength)
        results.append(slot)

    return results
Example #2
0
def slots(adate, apptix, start, apdata, fin):
    '''
    takes data like  830 ((830, 845), (900, 915), (1115, 1130), (1300, 1400),
    (1400, 1420), (1600, 1630)) 1800
    and returns a tuple of results like (FreeSlot, FreeSlot, ....)
    '''
    #--slotlength is required appt  length, in minutes

    #-- modified this on 18_11_2009, for the situation when a clinician's day
    #-- start may be later than any first appointment in that book
    #-- this facilitates having lunch etc.. already in place for a non used
    #-- day.
    aptstart = localsettings.minutesPastMidnight(start)
    dayfin = localsettings.minutesPastMidnight(fin)
    if dayfin <= aptstart:
        return ()
    results = []
    for ap in apdata:
        sMin = localsettings.minutesPastMidnight(ap[0])
        fMin = localsettings.minutesPastMidnight(ap[1])
        slength = sMin - aptstart
        if slength > 0:
            date_time = datetime.datetime.combine(
                adate, localsettings.minutesPastMidnightToPyTime(aptstart))

            slot = FreeSlot(date_time, apptix, slength)
            results.append(slot)

        if fMin > aptstart:
            aptstart = fMin
        if aptstart >= dayfin:
            break

    slength = dayfin - aptstart
    if slength > 0:
        date_time = datetime.datetime.combine(
            adate, localsettings.minutesPastMidnightToPyTime(aptstart))

        slot = FreeSlot(date_time, apptix, slength)
        results.append(slot)

    return results
Example #3
0
    def dropEvent(self, event):
        if not self.is_dragging:
            event.ignore()

        LOGGER.debug("%s was dropped at %s", self.drag_appt, self.dropPos)

        date_time = datetime.datetime.combine(
            self.date.toPyDate(),
            localsettings.minutesPastMidnightToPyTime(self.drop_time()))
        dent = self.mouse_drag_rect[0]
        slot = appointments.FreeSlot(date_time, dent, self.drag_appt.length)
        self.appt_dropped_signal.emit(self.drag_appt, slot)

        self.mouse_drag_rect = None
        self.drag_appt = None
        event.accept()
    def dropEvent(self, event):
        if not self.is_dragging:
            event.ignore()

        LOGGER.debug("%s was dropped at %s", self.drag_appt, self.dropPos)

        date_time = datetime.datetime.combine(
            self.date.toPyDate(),
            localsettings.minutesPastMidnightToPyTime(self.drop_time()))
        dent = self.mouse_drag_rect[0]
        slot = appointments.FreeSlot(date_time, dent, self.drag_appt.length)
        self.appt_dropped_signal.emit(self.drag_appt, slot)

        self.mouse_drag_rect = None
        self.drag_appt = None
        event.accept()
    def dropEvent(self, event):
        if not self.is_dragging:
            event.ignore()

        # print "TODO - dropEvent"
        # print "%s was dropped at %s"% (self.drag_appt, self.dropPos)

        date_time = datetime.datetime.combine(self.date.toPyDate(),
                                              localsettings.minutesPastMidnightToPyTime(self.drop_time()))
        dent = self.mouse_drag_rect[0]
        slot = appointments.FreeSlot(date_time, dent, self.drag_appt.length)
        self.emit(QtCore.SIGNAL("ApptDropped"), self.drag_appt, slot)

        self.mouse_drag_rect = None
        self.drag_appt = None
        event.accept()
Example #6
0
 def getTime_from_Cell(self, row):
     '''
     you know the row.. what time is that
     '''
     mpm = self.slotDuration * row + self.dayStartTime
     return localsettings.minutesPastMidnightToPyTime(mpm)
Example #7
0
 def getTime_from_Cell(self, row):
     '''
     you know the row.. what time is that
     '''
     mpm = self.slotDuration * row + self.dayStartTime
     return localsettings.minutesPastMidnightToPyTime(mpm)