Exemplo n.º 1
0
    def __init__(self, erd, relationship=None):
        super(RelationshipEditor, self).__init__()
        self.set_margin(10)
        self.erd = erd

        self._left_entity_combo = ControlCombo()
        self._left_multiplicity_combo = ControlCombo()
        self._relationship_name_edit_text = ControlText()
        self._right_multiplicity_combo = ControlCombo()
        self._right_entity_combo = ControlCombo()
        self._save_button = ControlButton(u'Zapisz')

        self._save_button.value = self.__save_relationship_action

        for entity in erd.entities:
            self._left_entity_combo.add_item(entity.name_singular)
            self._right_entity_combo.add_item(entity.name_singular)
        multiplicities = ['0,1', '1,1', '0,N', '1,N']
        for mul in multiplicities:
            self._left_multiplicity_combo.add_item(mul)
            self._right_multiplicity_combo.add_item(mul)

        self.formset = [('_left_entity_combo', '_left_multiplicity_combo',
                         '_relationship_name_edit_text',
                         '_right_multiplicity_combo', '_right_entity_combo'),
                        '_save_button']

        if relationship is not None:
            self.relationship = relationship
        else:
            self.relationship = Relationship('', '', '', '', '')

        self.populate()
Exemplo n.º 2
0
    def DEBUG_FUNCTION(self):
        e1 = Entity('Karetka', 'Karetki', [
            Attribute('IdK', Types.INT, True),
            Attribute('Rejestracja', Types.STRING),
            Attribute('Dost', Types.STRING),
            Attribute('WaznoscPrzegl', Types.DATE)
        ])
        e2 = Entity('Zgłoszenie', 'Zgłoszenia', [
            Attribute('IdZ', Types.INT, True),
            Attribute('AdresZ', Types.STRING),
            Attribute('PozycjaZ', Types.STRING),
            Attribute('OpisZ', Types.STRING),
            Attribute('Czas dod', Types.STRING)
        ])
        e3 = Entity('Dyżur', 'Dyżury', [
            Attribute('IdD', Types.INT, True),
            Attribute('PoczDyz', Types.DATE),
            Attribute('KonDyz', Types.DATE),
            Attribute('PozycjaDyz', Types.STRING)
        ])
        e4 = Entity('Szpital', 'Szpitale', [
            Attribute('IdS', Types.INT, True),
            Attribute('NazwaS', Types.STRING),
            Attribute('AdresS', Types.STRING),
            Attribute('PozycjaS', Types.STRING)
        ])
        e5 = Entity('Pracownik medyczny', 'Pracownicy medyczni', [
            Attribute('IdPS', Types.INT, True),
            Attribute('ImiePM', Types.STRING),
            Attribute('NazwiskoPM', Types.STRING),
            Attribute('LoginPM', Types.STRING),
            Attribute('HasłoPM', Types.STRING),
            Attribute('EmailPM', Types.STRING),
            Attribute('AktywnyPM', Types.BOOL)
        ])
        e6 = Entity('Poszkodowany', 'Poszkodowani', [
            Attribute('IdP', Types.INT, True),
            Attribute('OpisPoszk', Types.STRING)
        ])
        e7 = Entity('ICD', 'Schorzenia', [
            Attribute('IdS', Types.STRING, True),
            Attribute('NazwaS', Types.STRING)
        ])
        e8 = Entity('Dyspozytor', 'Dyspozytorzy', [
            Attribute('IdDys', Types.INT, True),
            Attribute('LoginDys', Types.STRING),
            Attribute('HasloDys', Types.STRING),
            Attribute('EmailDys', Types.STRING),
            Attribute('AktywnyDys', Types.BOOL),
            Attribute('JestAdminem', Types.BOOL)
        ])
        e9 = Entity('Pracownik szpitala', 'Pracownicy szpitala', [
            Attribute('IdPS', Types.INT, True),
            Attribute('LoginPS', Types.STRING),
            Attribute('HasłoPS', Types.STRING),
            Attribute('EmailPS', Types.BOOL)
        ])
        e10 = Entity('Rejestr', 'Rejestry', [
            Attribute('IdR', Types.INT, True),
            Attribute('JestKierowca', Types.BOOL)
        ])
        e11 = Entity('Wezwanie', 'Wezwania', [
            Attribute('IdW', Types.INT, True),
            Attribute('DataWezw', Types.DATE)
        ])
        e12 = Entity('Schorzenie', 'Schorzenia', [
            Attribute('IdSch', Types.INT, True),
            Attribute('Uwagi', Types.STRING)
        ])

        self.erd.entities = [e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12]

        for entity in self.erd.entities:
            for attribute in entity.attributes:
                attribute.description = 'Opis ' + attribute.name

        r1 = Relationship('Przydzielona',
                          left_entity='Karetka',
                          left_quantity='1,1',
                          right_entity='Dyżur',
                          right_quantity='0,N')
        r2 = Relationship('RejestrPracownika',
                          left_entity='Pracownik medyczny',
                          left_quantity='1,1',
                          right_entity='Rejestr',
                          right_quantity='0,N')
        r3 = Relationship('RejestrDyżuru',
                          left_entity='Rejestr',
                          left_quantity='0,N',
                          right_entity='Dyżur',
                          right_quantity='1,1')
        r4 = Relationship('Przydzielono',
                          left_entity='Dyżur',
                          left_quantity='0,N',
                          right_entity='Zgłoszenie',
                          right_quantity='0,N')
        r5 = Relationship('WezwanieDyzuru',
                          left_entity='Wezwanie',
                          left_quantity='0,N',
                          right_entity='Dyżur',
                          right_quantity='1,1')
        r6 = Relationship('Zgłasza',
                          left_entity='Dyspozytor',
                          left_quantity='1,1',
                          right_entity='Zgłoszenie',
                          right_quantity='0,N')
        r7 = Relationship('Dotyczy',
                          left_entity='ICD',
                          left_quantity='1,1',
                          right_entity='Schorzenie',
                          right_quantity='0,N')
        r8 = Relationship('KodSchorzenia',
                          left_entity='ICD',
                          left_quantity='1,1',
                          right_entity='Schorzenie',
                          right_quantity='0,N')
        r9 = Relationship('SchorzeniePoszkodowanego',
                          left_entity='Poszkodowany',
                          left_quantity='1,1',
                          right_entity='Schorzenie',
                          right_quantity='0,N')
        r10 = Relationship('Hospitalizowany',
                           left_entity='Poszkodowany',
                           left_quantity='0,N',
                           right_entity='Szpital',
                           right_quantity='0,1')
        r11 = Relationship('PracujeW',
                           left_entity='Pracownik szpitala',
                           left_quantity='0,N',
                           right_entity='Szpital',
                           right_quantity='1,1')

        self.erd.relationships = [r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11]
Exemplo n.º 3
0
    def DEBUG_ACTUALL_PROJECT(self):
        e1 = Entity('Arkusz', 'Arkusze', [
            Attribute(
                'IdA', Types.INT, True,
                'Unikalny identyfikator Arkusza nadawany automatycznie przez system, np. 1. '
            ),
            Attribute(
                'Ocena', Types.INT_POSITIVE, False,
                'Ilość punktów zdobyta przez uczestnika konkursu wprowadzana przez sprawdzającego, np. 30.'
            )
        ])
        e2 = Entity('Pytanie', 'Pytania', [
            Attribute(
                'IdP', Types.INT, True,
                ' Unikalny identyfikator Pytania nadawany automatycznie przez system, np. 4. '
            ),
            Attribute('Pytanie', Types.STRING, False,
                      'Treść pytania, np. Co oznacza skrót FIFO?'),
            Attribute(
                'Odpowiedź', Types.STRING, False,
                '(ang. First in, First out) żądania są przetwarzane sekwencyjnie wg kolejki.'
            )
        ])
        e3 = Entity('Uczestnik', 'Uczestnicy', [
            Attribute(
                'NrAlbumu', Types.INT, True,
                'Unikalny identyfikator Uczestnika nadawany automatycznie przez system, np. 3. '
            ),
            Attribute('Nazwisko', Types.STRING, False,
                      'Nazwisko uczestnika, np. Kowalski. '),
            Attribute('Imię', Types.STRING, False,
                      'Imię uczestnika, np. Adam. ')
        ])
        e4 = Entity('Konkurs', 'Konkursy', [
            Attribute(
                'IdK', Types.INT, True,
                'Unikalny identyfikator Konkursu nadawany automatycznie przez system, np. 2. '
            ),
            Attribute('Nazwa', Types.STRING, False,
                      'Nazwa konkursu, np.  Electron.'),
            Attribute('Data', Types.DATE, False,
                      'Data realizacji konkursu, np. 14/05/2018.')
        ])
        e5 = Entity('Organizator', 'Organizatorzy', [
            Attribute(
                'IdO', Types.INT, True,
                'Unikalny identyfikator Organizatora nadawany automatycznie przez system, np. 6. '
            ),
            Attribute('Nazwisko', Types.STRING, False,
                      'Nazwisko organizatora, np. Szymański.'),
            Attribute('Imię', Types.STRING, False,
                      'Imię organizatora, np. Dawid.')
        ])
        e6 = Entity('Sprawdzający', 'Sprawdzający', [
            Attribute(
                'IdS', Types.INT, True,
                'Unikalny identyfikator Sprawdzającego nadawany automatycznie przez system, np. 5.'
            ),
            Attribute('Nazwisko', Types.STRING, False,
                      'Nazwisko sprawdzającego, np. Nowak.'),
            Attribute('Imię', Types.STRING, False,
                      'Imię sprawdzającego, np. Mateusz')
        ])
        e7 = Entity(
            'PytanieNaArkuszu',
            'PytaniaNaArkuszu', [
                Attribute('IdPnA', Types.INT, True,
                          'Unikalny identyfikator PytaniaNaArkuszu, np. 70.')
            ],
            is_strong=True)

        self.erd.entities = [e1, e2, e3, e4, e5, e6, e7]

        r1 = Relationship('NależyDo',
                          left_entity='Konkurs',
                          left_quantity='1,1',
                          right_entity='Arkusz',
                          right_quantity='0,N')
        r2 = Relationship('Zawiera',
                          left_entity='Arkusz',
                          left_quantity='1,1',
                          right_entity='PytanieNaArkuszu',
                          right_quantity='0,N')
        r3 = Relationship('Uczestniczy',
                          left_entity='Konkurs',
                          left_quantity='1,1',
                          right_entity='Uczestnik',
                          right_quantity='0,N')
        r4 = Relationship('Wypełnia',
                          left_entity='Arkusz',
                          left_quantity='0,N',
                          right_entity='Uczestnik',
                          right_quantity='0,1')
        r5 = Relationship('Jest',
                          left_entity='Pytanie',
                          left_quantity='1,1',
                          right_entity='PytanieNaArkuszu',
                          right_quantity='0,N')
        r6 = Relationship('Tworzy',
                          left_entity='Arkusz',
                          left_quantity='0,N',
                          right_entity='Organizator',
                          right_quantity='1,1')
        r7 = Relationship('Sprawdza',
                          left_entity='Sprawdzający',
                          left_quantity='0,1',
                          right_entity='Arkusz',
                          right_quantity='0,N')

        self.erd.relationships = [r1, r2, r3, r4, r5, r6, r7]