diff --git a/app/extensions/IconsHelper.php b/app/extensions/IconsHelper.php
index 3a592bd..00b6b72 100644
--- a/app/extensions/IconsHelper.php
+++ b/app/extensions/IconsHelper.php
@@ -31,7 +31,28 @@ class IconsHelper extends \Prefab {
static public function icons($node){
+ // debug_print($node);
+
+ $required = ['type', 'path'];
+ $check = self::checkAttributes($node, $required);
+ if(!is_null($check)){
+ return sprintf('
%s
', $check);
+ }
+
$attr = $node['@attrib'];
+ $type = $attr['type'];
+ $path = $attr['path'];
+ $selected = $attr['selected'];
+
+ switch($attr['type']){
+ case 'status-selector':
+ $selected = Base::instance()->get('GET.status') ?: null;
+ return 'renderStatusSelector("'.$selected.'", "'.$path.'"); ?>';
+ return self::renderStatusSelector($selected, $path);
+
+ default:
+ return 'unknown icon selector type
';
+ }
$tpl = Template::instance();
$f3 = Base::instance();
@@ -43,6 +64,42 @@ class IconsHelper extends \Prefab {
}
+ private static function checkAttributes($node, array $required){
+ if(isset($node['@attrib'])){
+ $attr = $node['@attrib'];
+ $errors = [];
+
+ foreach($required as $key){
+ if(empty($attr[$key])){
+ $errors[] = "Error: '$key' is missing.";
+ }
+ }
+
+ return empty($errors) ? null : implode(" ", $errors);
+ }
+ return "Error: '@attrib' is missing";
+ }
+
+ public static function renderStatusSelector($current_status, $path)
+ {
+ $output = '';
+ return $output;
+ }
+
static function do_the_switch($type, $value){
if($value !== null) {
diff --git a/app/ui/views/ticket/create.html b/app/ui/views/ticket/create.html
index e9e8d98..f4d8bc9 100644
--- a/app/ui/views/ticket/create.html
+++ b/app/ui/views/ticket/create.html
@@ -1,30 +1,69 @@
-Create Ticket Form
-
+
+