<s> from django . utils . translation import ugettext_noop <EOL> from corehq . apps . products . models import Product <EOL> from django . template . loader import render_to_string <EOL> from corehq . apps . reports . commtrack . standard import CommtrackReportMixin <EOL> from corehq . apps . reports . standard . maps import GenericMapReport <EOL> from corehq . apps . style . decorators import use_maps <EOL> class StockStatusMapReport ( GenericMapReport , CommtrackReportMixin ) : <EOL> name = ugettext_noop ( "<STR_LIT>" ) <EOL> slug = "<STR_LIT>" <EOL> fields = [ <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> ] <EOL> data_source = { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> } <EOL> is_bootstrap3 = True <EOL> @ use_maps <EOL> def bootstrap3_dispatcher ( self , request , * args , ** kwargs ) : <EOL> super ( StockStatusMapReport , self ) . bootstrap3_dispatcher ( request , * args , ** kwargs ) <EOL> @ property <EOL> def display_config ( self ) : <EOL> conf = { <EOL> '<STR_LIT>' : '<STR_LIT:name>' , <EOL> '<STR_LIT>' : [ '<STR_LIT:type>' ] , <EOL> '<STR_LIT>' : [ '<STR_LIT:type>' ] , <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT:type>' : '<STR_LIT>' , <EOL> } , <EOL> '<STR_LIT>' : { } , <EOL> '<STR_LIT>' : { } , <EOL> '<STR_LIT>' : [ <EOL> { <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : '<STR_LIT:type>' , <EOL> } , <EOL> } , <EOL> ] , <EOL> } <EOL> titles = { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> } <EOL> products = sorted ( <EOL> Product . by_domain ( self . domain ) , <EOL> key = lambda p : p . name <EOL> ) <EOL> if self . program_id : <EOL> products = filter ( lambda c : c . program_id == self . program_id , products ) <EOL> for p in products : <EOL> col_id = lambda c : '<STR_LIT>' % ( p . _id , c ) <EOL> product_cols = [ ] <EOL> for c in ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) : <EOL> conf [ '<STR_LIT>' ] [ col_id ( c ) ] = titles [ c ] <EOL> product_cols . append ( col_id ( c ) ) <EOL> conf [ '<STR_LIT>' ] . extend ( product_cols ) <EOL> product_metrics = [ <EOL> { <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : col_id ( '<STR_LIT>' ) , <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> } , <EOL> } <EOL> } <EOL> ] <EOL> conf [ '<STR_LIT>' ] [ col_id ( '<STR_LIT>' ) ] = { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> } <EOL> for c in ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) : <EOL> metric = { <EOL> '<STR_LIT:title>' : conf [ '<STR_LIT>' ] [ col_id ( c ) ] , <EOL> '<STR_LIT:size>' : { <EOL> '<STR_LIT>' : col_id ( c ) , <EOL> } , <EOL> } <EOL> if c not in ( '<STR_LIT>' , ) : <EOL> metric [ '<STR_LIT>' ] = { <EOL> '<STR_LIT>' : col_id ( '<STR_LIT>' ) , <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> } , <EOL> } <EOL> else : <EOL> metric [ '<STR_LIT>' ] = '<STR_LIT>' <EOL> product_metrics . append ( metric ) <EOL> conf [ '<STR_LIT>' ] [ col_id ( c ) ] = { <EOL> '<STR_LIT>' : "<STR_LIT>" % ( p . unit or '<STR_LIT>' ) , <EOL> '<STR_LIT>' : "<STR_LIT>" , <EOL> '<STR_LIT>' : "<STR_LIT>" % ( p . unit or '<STR_LIT>' ) , <EOL> } [ c ] <EOL> conf [ '<STR_LIT>' ] . append ( { <EOL> '<STR_LIT:title>' : p . name , <EOL> '<STR_LIT>' : True , <EOL> '<STR_LIT>' : product_metrics , <EOL> } ) <EOL> conf [ '<STR_LIT>' ] . append ( { <EOL> '<STR_LIT:title>' : p . name , <EOL> '<STR_LIT>' : product_cols , <EOL> } ) <EOL> conf [ '<STR_LIT>' ] = render_to_string ( '<STR_LIT>' , { <EOL> '<STR_LIT>' : products , <EOL> '<STR_LIT>' : [ { '<STR_LIT:id>' : c , '<STR_LIT:title>' : titles [ c ] } for c in <EOL> ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) ] , <EOL> } ) <EOL> conf [ '<STR_LIT>' ] = { <EOL> '<STR_LIT>' : False , <EOL> } <EOL> return conf <EOL> class ReportingStatusMapReport ( GenericMapReport , CommtrackReportMixin ) : <EOL> name = ugettext_noop ( "<STR_LIT>" ) <EOL> slug = "<STR_LIT>" <EOL> fields = [ <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> ] <EOL> data_source = { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> } <EOL> display_config = { <EOL> '<STR_LIT>' : '<STR_LIT:name>' , <EOL> '<STR_LIT>' : [ '<STR_LIT:type>' , '<STR_LIT>' ] , <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT:type>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> } , <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> } , <EOL> } , <EOL> '<STR_LIT>' : [ <EOL> { <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : '<STR_LIT:type>' , <EOL> } , <EOL> } , <EOL> { <EOL> '<STR_LIT:default>' : True , <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> } , <EOL> } , <EOL> } , <EOL> ] , <EOL> } <EOL> is_bootstrap3 = True <EOL> @ use_maps <EOL> def bootstrap3_dispatcher ( self , request , * args , ** kwargs ) : <EOL> super ( ReportingStatusMapReport , self ) . bootstrap3_dispatcher ( request , * args , ** kwargs ) </s>
