diff --git a/HISTORY.rst b/HISTORY.rst
index 68c5effbad..c6cadf3e94 100644
--- a/HISTORY.rst
+++ b/HISTORY.rst
@@ -111,6 +111,7 @@
* Remove the include fontawesome and download it from
the NPMregistry.
* Fix issue installing scoped NPM packages.
+* Add new icons classes and templates.
3.1.11 (2019-04-XX)
===================
diff --git a/docs/releases/3.2.rst b/docs/releases/3.2.rst
index 58c897980a..1bd5ce7a58 100644
--- a/docs/releases/3.2.rst
+++ b/docs/releases/3.2.rst
@@ -143,6 +143,7 @@ Other changes
* Remove the include fontawesome and download it from
the NPMregistry.
* Fix issue installing scoped NPM packages.
+* Add new icons classes and templates.
Removals
--------
diff --git a/mayan/apps/appearance/classes.py b/mayan/apps/appearance/classes.py
index 53ee859a7f..97f688d795 100644
--- a/mayan/apps/appearance/classes.py
+++ b/mayan/apps/appearance/classes.py
@@ -23,11 +23,38 @@ class FontAwesomeDriver(IconDriver):
self.symbol = symbol
def render(self):
- return get_template(self.template_name).render(
+ return get_template(template_name=self.template_name).render(
context={'symbol': self.symbol}
)
+class FontAwesomeDualDriver(IconDriver):
+ name = 'fontawesome-dual'
+ template_name = 'appearance/icons/font_awesome_layers.html'
+
+ def __init__(self, primary_symbol, secondary_symbol):
+ self.primary_symbol = primary_symbol
+ self.secondary_symbol = secondary_symbol
+
+ def render(self):
+ return get_template(template_name=self.template_name).render(
+ context={
+ 'data': (
+ {
+ 'class': 'fas fa-circle',
+ 'transform': 'down-3 right-10',
+ 'mask': 'fas fa-{}'.format(self.primary_symbol)
+ },
+ {'class': 'far fa-circle', 'transform': 'down-3 right-10'},
+ {
+ 'class': 'fas fa-{}'.format(self.secondary_symbol),
+ 'transform': 'shrink-4 down-3 right-10'
+ },
+ )
+ }
+ )
+
+
class FontAwesomeCSSDriver(IconDriver):
name = 'fontawesomecss'
template_name = 'appearance/icons/font_awesome_css.html'
@@ -36,11 +63,37 @@ class FontAwesomeCSSDriver(IconDriver):
self.css_classes = css_classes
def render(self):
- return get_template(self.template_name).render(
+ return get_template(template_name=self.template_name).render(
context={'css_classes': self.css_classes}
)
+class FontAwesomeMasksDriver(IconDriver):
+ name = 'fontawesome-masks'
+ template_name = 'appearance/icons/font_awesome_masks.html'
+
+ def __init__(self, data):
+ self.data = data
+
+ def render(self):
+ return get_template(template_name=self.template_name).render(
+ context={'data': self.data}
+ )
+
+
+class FontAwesomeLayersDriver(IconDriver):
+ name = 'fontawesome-layers'
+ template_name = 'appearance/icons/font_awesome_layers.html'
+
+ def __init__(self, data):
+ self.data = data
+
+ def render(self):
+ return get_template(template_name=self.template_name).render(
+ context={'data': self.data}
+ )
+
+
class Icon(object):
def __init__(self, driver_name, **kwargs):
self.driver = IconDriver.get(name=driver_name)(**kwargs)
@@ -49,5 +102,8 @@ class Icon(object):
return self.driver.render(**kwargs)
-IconDriver.register(driver_class=FontAwesomeDriver)
IconDriver.register(driver_class=FontAwesomeCSSDriver)
+IconDriver.register(driver_class=FontAwesomeDriver)
+IconDriver.register(driver_class=FontAwesomeDualDriver)
+IconDriver.register(driver_class=FontAwesomeLayersDriver)
+IconDriver.register(driver_class=FontAwesomeMasksDriver)
diff --git a/mayan/apps/appearance/templates/appearance/icons/font_awesome_css.html b/mayan/apps/appearance/templates/appearance/icons/font_awesome_css.html
index 5975cc6d66..112f741764 100644
--- a/mayan/apps/appearance/templates/appearance/icons/font_awesome_css.html
+++ b/mayan/apps/appearance/templates/appearance/icons/font_awesome_css.html
@@ -1 +1 @@
-
+
diff --git a/mayan/apps/appearance/templates/appearance/icons/font_awesome_layers.html b/mayan/apps/appearance/templates/appearance/icons/font_awesome_layers.html
new file mode 100644
index 0000000000..4356ad89e1
--- /dev/null
+++ b/mayan/apps/appearance/templates/appearance/icons/font_awesome_layers.html
@@ -0,0 +1,5 @@
+
+ {% for entry in data %}
+
+ {% endfor %}
+
diff --git a/mayan/apps/appearance/templates/appearance/icons/font_awesome_masks.html b/mayan/apps/appearance/templates/appearance/icons/font_awesome_masks.html
new file mode 100644
index 0000000000..ef345c4d21
--- /dev/null
+++ b/mayan/apps/appearance/templates/appearance/icons/font_awesome_masks.html
@@ -0,0 +1 @@
+
diff --git a/mayan/apps/appearance/templates/appearance/icons/font_awesome_symbol.html b/mayan/apps/appearance/templates/appearance/icons/font_awesome_symbol.html
index 8ddd586fdd..fac6aeca4d 100644
--- a/mayan/apps/appearance/templates/appearance/icons/font_awesome_symbol.html
+++ b/mayan/apps/appearance/templates/appearance/icons/font_awesome_symbol.html
@@ -1 +1 @@
-
+