def setup(self, quick_search=None, order_by=None, offset=None,limit=None, master=None, title=None, master_instance=None, master_id=None, #~ layout=None, filter=None, #~ create_rows=None, gridfilters=None, exclude=None, extra=None, **kw): #~ if self.actor.__name__ == 'PrintExpensesByBudget': #~ assert master_instance is not None self.quick_search = quick_search self.order_by = order_by #~ logger.info("20120519 %s.setup()",self) self.filter = filter self.gridfilters = gridfilters self.exclude = exclude or self.actor.exclude self.extra = extra if master is None: master = self.actor.master # master might still be None self.master = master if title is not None: self.title = title if master_id is not None: assert master_instance is None master_instance = self.master.objects.get(pk=master_id) #~ if master is not None: #~ if not isinstance(master_instance,master): #~ raise Exception("%r is not a %r" % (master_instance,master)) self.master_instance = master_instance #~ AbstractTableRequest.setup(self,**kw) """ Table.page_length is not a default value for ReportRequest.limit For example CSVReportRequest wants all rows. """ self.page_length = self.actor.page_length #~ logger.info("20120121 %s.setup() done",self) #~ if self.actor.__name__ == 'PrintExpensesByBudget': #~ print '20130327 1 tables.py', kw.get('master_instance') ActionRequest.setup(self,**kw) #~ if self.actor.__name__ == 'PrintExpensesByBudget': #~ print '20130327 2 tables.py', self, self.master_instance """ 20120519 : outbox.MyOutbox had no phantom record when called from menu. When called by permalink it had. Because get_create_kw was called before Actor.setup_request() which sets the master_instance. """ self.actor.setup_request(self) self.create_kw = self.actor.get_create_kw(self.master_instance) if offset is not None: self.offset = offset if limit is not None: self.limit = limit