User configurable reports

the plan is to pilot/QA on this on prod so I'm putting it out for code review now. I'm guessing it's easiest to review as a whole, though the commits should represent ~atomic actions.

I think it's good to merge whenever code review passes.
good point - added to backlog.

On Fri, Oct 24, 2014 at 7:08 AM, Simon Kelly <notifications@github.com>
wrote:

> In corehq/apps/userreports/models.py:
>
> > +    @memoized
> > +    def charts(self):
> > +        return [ChartFactory.from_spec(g) for g in self.configured_charts]
> > +
> > +    @property
> > +    def table_id(self):
> > +        return self.config.table_id
> > +
> > +    def validate(self, required=True):
> > +        super(ReportConfiguration, self).validate(required)
> > +        # these calls implicitly do validation
> > +        ReportFactory.from_spec(self)
> > +        self.charts
> > +
> > +    @classmethod
> > +    def by_domain(cls, domain):
>
> This should probably be cached
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/dimagi/commcare-hq/pull/4596/files#r19333391>.
>