Exemple #1
0
    def __init__(self, attributes, attribute=None):
        super(AttributeEditor, self).__init__()
        self.set_margin(10)

        self.attributes = attributes
        self.attribute = attribute

        self._name_edit_text = ControlText()
        self._type_combo = ControlCombo()
        self._description_edit_text = ControlText('Opis')
        self._is_key_checkbox = ControlCheckBox('Czy kluczowy')
        self._is_obligatory_checkbox = ControlCheckBox(
            u'Atrybut obligatoryjny (brak zaznaczenia - opcjonalny)')
        self._is_unique_checkbox = IsUniqueCheckBox(self._is_key_checkbox)
        self._save_attribute_button = ControlButton('Zapisz')

        self._save_attribute_button.value = self.__save_attribute_action

        self.formset = [('Nazwa: ', '_name_edit_text'),
                        ('Typ: ', '_type_combo'), '_description_edit_text',
                        '_is_key_checkbox', '_is_obligatory_checkbox',
                        '_is_unique_checkbox', '_save_attribute_button']

        self._type_combo.add_item(Types.INT.name, Types.INT)
        self._type_combo.add_item(Types.INT_POSITIVE.name, Types.INT_POSITIVE)
        self._type_combo.add_item(Types.INT_NEGATIVE.name, Types.INT_NEGATIVE)
        self._type_combo.add_item(Types.DATE.name, Types.DATE)
        self._type_combo.add_item(Types.STRING.name, Types.STRING)

        self.populate()
Exemple #2
0
    def __init__(self, erd, transactions, transaction=None):
        super(TransactionEditor, self).__init__()
        self.set_margin(10)
        self.transactions = transactions
        self.erd = erd

        self._name_edit_text = ControlText('Nazwa transakcji')
        self._entity_combo = ControlCombo()
        self._type_combo = TypeCombo(self._entity_combo)
        self._description_edit_text = ControlText('Opis transakcji')
        self._conditions_edit_text = ControlText('Uwarunkowania transakcji')
        self._save_button = ControlButton('Zapisz transakcję')
        self._save_button.value = self.__save_action

        self._type_combo.add_item(Transaction.OTHER)
        self._type_combo.add_item(Transaction.ADD)
        self._type_combo.add_item(Transaction.EDIT)
        self._type_combo.add_item(Transaction.REMOVE)

        for entity in self.erd.entities:
            self._entity_combo.add_item(entity.name_singular)

        self._entity_combo.setVisible(False)

        self.formset = [
            '_name_edit_text', '_type_combo', '_entity_combo',
            '_description_edit_text', '_conditions_edit_text', '_save_button'
        ]

        if transaction is not None:
            self.transaction = transaction
        else:
            self.transaction = Transaction('', '', '')

        self.populate()
Exemple #3
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()
Exemple #4
0
class RelationshipEditor(pyforms.BaseWidget):
    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()

    def populate(self):
        self._left_entity_combo.value = self.relationship.left_entity
        self._left_multiplicity_combo.value = self.relationship.left_quantity
        self._relationship_name_edit_text.value = self.relationship.name
        self._right_entity_combo.value = self.relationship.right_entity
        self._right_multiplicity_combo.value = self.relationship.right_quantity

    def __save_relationship_action(self):
        if self._relationship_name_edit_text.value == '':
            popup = Popup('Nazwa związku nie może być pusta')
            popup.show()
        else:
            self.relationship.name = self._relationship_name_edit_text.value
            self.relationship.left_entity = self._left_entity_combo.value
            self.relationship.left_quantity = self._left_multiplicity_combo.value
            self.relationship.right_entity = self._right_entity_combo.value
            self.relationship.right_quantity = self._right_multiplicity_combo.value

            if self.relationship not in self.erd.relationships:
                self.erd.relationships.append(self.relationship)
            self.parent._populate()
            Saver.get_saver().save()
            self.close()
Exemple #5
0
class AttributeEditor(pyforms.BaseWidget):
    def __init__(self, attributes, attribute=None):
        super(AttributeEditor, self).__init__()
        self.set_margin(10)

        self.attributes = attributes
        self.attribute = attribute

        self._name_edit_text = ControlText()
        self._type_combo = ControlCombo()
        self._description_edit_text = ControlText('Opis')
        self._is_key_checkbox = ControlCheckBox('Czy kluczowy')
        self._is_obligatory_checkbox = ControlCheckBox(
            u'Atrybut obligatoryjny (brak zaznaczenia - opcjonalny)')
        self._is_unique_checkbox = IsUniqueCheckBox(self._is_key_checkbox)
        self._save_attribute_button = ControlButton('Zapisz')

        self._save_attribute_button.value = self.__save_attribute_action

        self.formset = [('Nazwa: ', '_name_edit_text'),
                        ('Typ: ', '_type_combo'), '_description_edit_text',
                        '_is_key_checkbox', '_is_obligatory_checkbox',
                        '_is_unique_checkbox', '_save_attribute_button']

        self._type_combo.add_item(Types.INT.name, Types.INT)
        self._type_combo.add_item(Types.INT_POSITIVE.name, Types.INT_POSITIVE)
        self._type_combo.add_item(Types.INT_NEGATIVE.name, Types.INT_NEGATIVE)
        self._type_combo.add_item(Types.DATE.name, Types.DATE)
        self._type_combo.add_item(Types.STRING.name, Types.STRING)

        self.populate()

    def populate(self):
        if self.attribute is not None:
            self._name_edit_text.value = self.attribute.name
            self._type_combo.value = self.attribute.type
            self._description_edit_text.value = self.attribute.description
            self._is_key_checkbox.value = self.attribute.is_key
            self._is_obligatory_checkbox.value = self.attribute.is_obligatory
            self._is_unique_checkbox.value = self.attribute.unique
        else:
            self.attribute = Attribute('', '')

    def __save_attribute_action(self):
        self.attribute.name = self._name_edit_text.value
        self.attribute.type = self._type_combo.value
        self.attribute.description = self._description_edit_text.value
        self.attribute.is_key = self._is_key_checkbox.value
        self.attribute.is_obligatory = self._is_obligatory_checkbox.value
        self.attribute.unique = self._is_unique_checkbox.value or self._is_key_checkbox.value

        if self.attribute not in self.attributes:
            self.attributes.append(self.attribute)
        self.parent.populate()
        Saver.get_saver().save()
        self.close()