Esempio n. 1
0
    def __init__(self, model_instance, parent=None, filter=None, **kwargs):
        QDialog.__init__(self, parent, **kwargs)
        BaseView.__init__(self, **kwargs)

        self.setWindowTitle(u"%s: редактирование" % self.model.verbose_name())

        self.model_instance = model_instance

        self.formlayout = QFormLayout()
        self._widgets = {}
        self.fields = [field for field in self.fields\
                       if not getattr(self.model,field).is_read_only_in(self.model)]
        for field in self.fields:
            x = getattr(self.model, field)
            try:
                self._widgets[field] = self.widgets[field]
            except KeyError:
                try:
                    self._widgets[field] = \
                            self.fieldwidgets_dict[x.__class__](x)
                except KeyError:
                    self._widgets[field] = LabelWidget()  ##FIXME!
            self.formlayout.addRow(x.get_label(), self._widgets[field])
        self.get_data_from_model()

        #then initialise inline views:
        self._inline_views = []
        for inline_view_class, inline_filter_field, inline_caption in self.inline_views:
            v = inline_view_class(
                filter={inline_filter_field: self.model_instance})
            #v.set_filter({inline_filter_field:self.model_instance})
            self._inline_views.append(v)
            self.formlayout.addRow(QLabel(inline_caption))
            self.formlayout.addRow(v)

        buttonBox = QDialogButtonBox(QDialogButtonBox.Ok
                                     | QDialogButtonBox.Cancel)
        Qt.QObject.connect(buttonBox, Qt.SIGNAL("accepted()"), self,
                           Qt.SLOT("accept()"))
        Qt.QObject.connect(buttonBox, Qt.SIGNAL("rejected()"), self,
                           Qt.SLOT("reject()"))

        v_layout = QVBoxLayout(self)
        v_layout.addLayout(self.formlayout)
        v_layout.addWidget(buttonBox)

        self.setLayout(v_layout)
        self.set_filter(filter)
Esempio n. 2
0
    def __init__(self, model_instance, parent=None, filter=None,**kwargs):
        QDialog.__init__(self, parent, **kwargs)
        BaseView.__init__(self, **kwargs)

        self.setWindowTitle(u"%s: редактирование" % self.model.verbose_name())

        self.model_instance = model_instance

        self.formlayout = QFormLayout()
        self._widgets={}
        self.fields = [field for field in self.fields\
                       if not getattr(self.model,field).is_read_only_in(self.model)]
        for field in self.fields:
            x = getattr(self.model,field)
            try:
                self._widgets[field] = self.widgets[field]
            except KeyError:
                try:
                    self._widgets[field] = \
                            self.fieldwidgets_dict[x.__class__](x)
                except KeyError:
                    self._widgets[field] = LabelWidget() ##FIXME!
            self.formlayout.addRow(x.get_label(), self._widgets[field])
        self.get_data_from_model()

        #then initialise inline views:
        self._inline_views = []
        for inline_view_class, inline_filter_field, inline_caption in self.inline_views:
            v = inline_view_class(filter={inline_filter_field:self.model_instance})
            #v.set_filter({inline_filter_field:self.model_instance})
            self._inline_views.append(v)
            self.formlayout.addRow(QLabel(inline_caption))
            self.formlayout.addRow(v)


        buttonBox = QDialogButtonBox(QDialogButtonBox.Ok
                                      | QDialogButtonBox.Cancel)
        Qt.QObject.connect(buttonBox, Qt.SIGNAL("accepted()"), self, Qt.SLOT("accept()"));
        Qt.QObject.connect(buttonBox, Qt.SIGNAL("rejected()"), self, Qt.SLOT("reject()"));

        v_layout = QVBoxLayout(self)
        v_layout.addLayout(self.formlayout)
        v_layout.addWidget(buttonBox)


        self.setLayout(v_layout)
        self.set_filter(filter)
Esempio n. 3
0
 def __init__(self, filter=None):
     BaseView.__init__(self)
     self.filter = filter
Esempio n. 4
0
 def __init__(self, filter=None):
     BaseView.__init__(self)
     self.filter = filter