def __init__(self, parent=None):
        BaseDialog.__init__(self, parent)
        label = WarningLabel(_("Insert a number of blocks to various books"))
        clinicians_groupbox = QtGui.QGroupBox(self)
        clinicians_groupbox.setTitle(_("Clinicians"))
        layout = QtGui.QHBoxLayout(clinicians_groupbox)
        for initials in localsettings.activedents + localsettings.activehygs:
            cb = QtGui.QCheckBox(initials)
            layout.addWidget(cb)
            try:
                cb.setChecked(self.CLINICIAN_DICT[initials])
            except KeyError:
                self.CLINICIAN_DICT[initials] = False
            cb.toggled.connect(partial(self.update_clinician_dict, initials))

        days_groupbox = QtGui.QGroupBox(self)
        days_groupbox.setTitle(_("Days to Apply"))
        g_layout = QtGui.QGridLayout(days_groupbox)
        for day in range(7):
            cb = QtGui.QCheckBox(localsettings.DAYNAMES[day])
            row = 0 if day < 4 else 1
            g_layout.addWidget(cb, row, day % 4)
            try:
                cb.setChecked(self.DAY_DICT[day])
            except KeyError:
                self.DAY_DICT[day] = False
            cb.toggled.connect(partial(self.update_day_dict, day))

        if self.START_DATE is None:
            self.START_DATE = QtCore.QDate.currentDate()
        self.start_dateedit = QtGui.QDateEdit()
        self.start_dateedit.setDate(self.START_DATE)
        self.start_dateedit.setCalendarPopup(True)
        self.start_dateedit.dateChanged.connect(self.new_start_date)

        if self.END_DATE is None:
            self.END_DATE = localsettings.BOOKEND
        self.end_dateedit = QtGui.QDateEdit()
        self.end_dateedit.setCalendarPopup(True)
        self.end_dateedit.setDate(self.END_DATE)
        self.end_dateedit.dateChanged.connect(self.new_end_date)

        if self.TIME is None:
            self.TIME = QtCore.QTime(13, 0, 0)
        self.time_edit = FiveMinuteTimeEdit()
        self.time_edit.setTime(self.TIME)
        self.time_edit.time_changed_signal.connect(self.new_time)

        self.duration_spinbox = QtGui.QSpinBox()
        self.duration_spinbox.setMaximum(300)
        self.duration_spinbox.setSingleStep(5)
        self.duration_spinbox.setSuffix(" " + _("Minutes"))
        self.duration_spinbox.setValue(60)

        self.combo_box = QtGui.QComboBox()

        frame = QtGui.QFrame()
        flayout = QtGui.QFormLayout(frame)
        flayout.addRow(_("Start Date"), self.start_dateedit)
        flayout.addRow(_("End Date"), self.end_dateedit)
        flayout.addRow(_("What time does this recurr?"), self.time_edit)
        flayout.addRow(_("Duration"), self.duration_spinbox)
        flayout.addRow(_("What is this block for?"), self.combo_box)

        self.insertWidget(label)
        self.insertWidget(clinicians_groupbox)
        self.insertWidget(days_groupbox)
        self.insertWidget(frame)
        self.load_combo_box()

        self.enableApply(True)