Anonymous avatar Anonymous committed b111cad

classes are available to all templates by default

Comments (0)

Files changed (1)

semanticeditor/models.py

                                    "list of styles.  The data will be interpreted "
                                    "as raw HTML, so it can include an example.")
     templates = MultiSelectField("Templates", choices=template_list, blank=True,
+                                 help_text="Available to all templates by default; "
+                                 "select templates to restrict availability.",
                                  default="")
 
     allowed_elements = models.CharField("Allowed HTML elements", max_length=255,
     # Can't do filter in DB easily, because 'templates' is actually a comma
     # separated list in DB.
     classes = CssClass.objects.all().order_by('category__name', 'verbose_name')
-    return filter(lambda c: template in c.templates, classes)
+    # the class is allowed in the template if explicitly mentioned, or if no templates
+    # are specified - useful, because many classes will be used across all templates  
+    return [c for c in classes if c.templates == [u''] or template in c.templates]
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.