def setupMenu(self): super().setupMenu() #Add actions for catalogs. # http://docs.python.org/library/pkgutil.html#pkgutil.walk_packages menu = self.menu.catalogs from wic import menus catalogs = ('persons', 'locations', 'districts', 'regions', 'streets') for catalog in catalogs: modelName = catalog.capitalize() modelPath = 'papp.catalogs.' + catalog + '.' + modelName menus.addActionsToMenu(menu, ( menus.createAction(menu, modelName, lambda *args, p = modelPath: forms.openCatalogForm(p, db), icon = ':/icons/fugue/cards-address.png'), )) menu = self.menu.reports reports = ('phone_number_search', 'test', 'lissajous', 'repayment_schedule') for report in reports: reportName = report.capitalize() reportPath = 'papp.reports.' + report + '.Form' menus.addActionsToMenu(menu, ( menus.createAction(menu, reportName, lambda *args, p = reportPath: forms.openForm(p), icon = ':/icons/fugue/application-form.png'), ))
def selectItem(self): """Open a list of items to replace the current one.""" if self._db: from wic import forms, getObjectByPath model = getObjectByPath(self._model) db = self._item._db if self._item else self._db catalogForm = forms.openCatalogForm(model, db, type = 1) catalogForm.itemSelected.connect(self.setItem)