Changeset 14135 for trunk


Ignore:
Timestamp:
03/15/12 17:06:45 (12 years ago)
Author:
ramonb
Message:

templatetags/cmts_extras.py:

  • changed {% use } tag to understand variable's
  • QuerySetNode? now resolved template Variable in {% use %} tag
  • TODO: perhaps later to be merged with resolveVariables method from {% assign %} tag
  • see #4
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sara_cmt/sara_cmt/cluster/templatetags/cmts_extras.py

    r14134 r14135  
    367367    def __init__(self, entity, query, key):
    368368        self.entity = entity
    369         self.query = query.strip("'").strip('"').__str__()
     369        self.query = query
    370370        self.key = key
    371371
    372372    def render(self, context):
    373         attr, val = self.query.split('=')
     373
     374        if (self.query[0] == self.query[-1] and self.query[0] in ('"', "'")):
     375
     376            myquery_str = str( self.query.strip("'").strip('"') )
     377        else:
     378            # RB: Not quoted: must be a variable: attempt to resolve to value
     379            try:
     380                queryvar = template.Variable( str(self.query) )
     381                myquery_str = queryvar.resolve(context)
     382            except template.VariableDoesNotExist:
     383                #raise template.TemplateSyntaxError, '%r tag argument 1: not a variable %r' %( tag, path_str )
     384                pass
     385
     386        attr, val = myquery_str.split('=')
    374387        queryset = get_model('cluster', self.entity).objects.filter(**{attr:val})
    375388        if len(queryset) == 1:
Note: See TracChangeset for help on using the changeset viewer.