diff --git a/app/Resources/public/css/base.css b/app/Resources/public/css/base.css
index 5057eac276..69a286daea 100644
--- a/app/Resources/public/css/base.css
+++ b/app/Resources/public/css/base.css
@@ -235,22 +235,24 @@ header {
filter:progid:DXImageTransform.Microsoft.Alpha(opacity=80);
}
.notification-panel .help a {
- background-color:#879DAA;
- border:1px solid #FFFFFF;
- display:block;
- margin-left:50px;
- opacity:0.6;
- width:65px;
- padding: 6px 0 8px 6px;
+ background-color:#879DAA;
+ border:1px solid #FFFFFF;
+ display:block;
+ margin-left:50px;
+ opacity:0.8;
+ width:65px;
+ padding: 6px 0 8px 6px;
+ border-radius: 10px 0 0 10px;
}
.notification-panel .report a {
- background-color:#8fd400;
- border:1px solid #FFFFFF;
- display:block;
- margin-left:50px;
- opacity:0.6;
- width:65px;
- padding: 6px 0 8px 6px;
+ background-color:#8fd400;
+ border:1px solid #FFFFFF;
+ display:block;
+ margin-left:50px;
+ opacity:0.8;
+ width:65px;
+ padding: 6px 0 8px 6px;
+ border-radius: 10px 0 0 10px;
}
.cookieUsageValidation {
padding: 5px;
diff --git a/main/img/icons/128/help.png b/main/img/icons/128/help.png
new file mode 100644
index 0000000000..6db4042788
Binary files /dev/null and b/main/img/icons/128/help.png differ
diff --git a/main/img/icons/128/project.png b/main/img/icons/128/project.png
new file mode 100644
index 0000000000..00b72bf39b
Binary files /dev/null and b/main/img/icons/128/project.png differ
diff --git a/main/img/icons/128/ticket.png b/main/img/icons/128/ticket.png
new file mode 100644
index 0000000000..2552470a03
Binary files /dev/null and b/main/img/icons/128/ticket.png differ
diff --git a/main/img/icons/128/tickets.png b/main/img/icons/128/tickets.png
new file mode 100644
index 0000000000..dc867bf807
Binary files /dev/null and b/main/img/icons/128/tickets.png differ
diff --git a/main/img/icons/128/tickets_urgent.png b/main/img/icons/128/tickets_urgent.png
new file mode 100644
index 0000000000..2adcbcb7b9
Binary files /dev/null and b/main/img/icons/128/tickets_urgent.png differ
diff --git a/main/img/icons/22/help.png b/main/img/icons/22/help.png
new file mode 100644
index 0000000000..21ed8cb242
Binary files /dev/null and b/main/img/icons/22/help.png differ
diff --git a/main/img/icons/22/project.png b/main/img/icons/22/project.png
new file mode 100644
index 0000000000..73ac516c0e
Binary files /dev/null and b/main/img/icons/22/project.png differ
diff --git a/main/img/icons/22/ticket.png b/main/img/icons/22/ticket.png
new file mode 100644
index 0000000000..8dcab370f4
Binary files /dev/null and b/main/img/icons/22/ticket.png differ
diff --git a/main/img/icons/22/tickets.png b/main/img/icons/22/tickets.png
new file mode 100644
index 0000000000..40e90556bb
Binary files /dev/null and b/main/img/icons/22/tickets.png differ
diff --git a/main/img/icons/22/tickets_urgent.png b/main/img/icons/22/tickets_urgent.png
new file mode 100644
index 0000000000..cb212fca2b
Binary files /dev/null and b/main/img/icons/22/tickets_urgent.png differ
diff --git a/main/img/icons/32/help.png b/main/img/icons/32/help.png
new file mode 100644
index 0000000000..fe62616769
Binary files /dev/null and b/main/img/icons/32/help.png differ
diff --git a/main/img/icons/32/project.png b/main/img/icons/32/project.png
new file mode 100644
index 0000000000..41874cc2b8
Binary files /dev/null and b/main/img/icons/32/project.png differ
diff --git a/main/img/icons/32/ticket.png b/main/img/icons/32/ticket.png
new file mode 100644
index 0000000000..f8f3b8e7b8
Binary files /dev/null and b/main/img/icons/32/ticket.png differ
diff --git a/main/img/icons/32/tickets.png b/main/img/icons/32/tickets.png
new file mode 100644
index 0000000000..b857ae408f
Binary files /dev/null and b/main/img/icons/32/tickets.png differ
diff --git a/main/img/icons/32/tickets_urgent.png b/main/img/icons/32/tickets_urgent.png
new file mode 100644
index 0000000000..34e75e5f4e
Binary files /dev/null and b/main/img/icons/32/tickets_urgent.png differ
diff --git a/main/img/icons/48/help.png b/main/img/icons/48/help.png
new file mode 100644
index 0000000000..293bf685f1
Binary files /dev/null and b/main/img/icons/48/help.png differ
diff --git a/main/img/icons/48/project.png b/main/img/icons/48/project.png
new file mode 100644
index 0000000000..7acec41100
Binary files /dev/null and b/main/img/icons/48/project.png differ
diff --git a/main/img/icons/48/ticket.png b/main/img/icons/48/ticket.png
new file mode 100644
index 0000000000..f5ad667cbc
Binary files /dev/null and b/main/img/icons/48/ticket.png differ
diff --git a/main/img/icons/48/tickets.png b/main/img/icons/48/tickets.png
new file mode 100644
index 0000000000..7f6519f71f
Binary files /dev/null and b/main/img/icons/48/tickets.png differ
diff --git a/main/img/icons/48/tickets_urgent.png b/main/img/icons/48/tickets_urgent.png
new file mode 100644
index 0000000000..51f5097b42
Binary files /dev/null and b/main/img/icons/48/tickets_urgent.png differ
diff --git a/main/img/icons/64/help.png b/main/img/icons/64/help.png
new file mode 100644
index 0000000000..d95d8e4bb0
Binary files /dev/null and b/main/img/icons/64/help.png differ
diff --git a/main/img/icons/64/project.png b/main/img/icons/64/project.png
new file mode 100644
index 0000000000..6ed8e58e5e
Binary files /dev/null and b/main/img/icons/64/project.png differ
diff --git a/main/img/icons/64/ticket.png b/main/img/icons/64/ticket.png
new file mode 100644
index 0000000000..153346130d
Binary files /dev/null and b/main/img/icons/64/ticket.png differ
diff --git a/main/img/icons/64/tickets.png b/main/img/icons/64/tickets.png
new file mode 100644
index 0000000000..134620f0d2
Binary files /dev/null and b/main/img/icons/64/tickets.png differ
diff --git a/main/img/icons/64/tickets_urgent.png b/main/img/icons/64/tickets_urgent.png
new file mode 100644
index 0000000000..912f736552
Binary files /dev/null and b/main/img/icons/64/tickets_urgent.png differ
diff --git a/main/img/icons/svg/help.svg b/main/img/icons/svg/help.svg
new file mode 100644
index 0000000000..1f1d418300
--- /dev/null
+++ b/main/img/icons/svg/help.svg
@@ -0,0 +1,425 @@
+
+
+
+
diff --git a/main/img/icons/svg/project.svg b/main/img/icons/svg/project.svg
new file mode 100644
index 0000000000..7a0ebb610a
--- /dev/null
+++ b/main/img/icons/svg/project.svg
@@ -0,0 +1,1859 @@
+
+
+
+
diff --git a/main/img/icons/svg/ticket.svg b/main/img/icons/svg/ticket.svg
new file mode 100644
index 0000000000..31e21f7843
--- /dev/null
+++ b/main/img/icons/svg/ticket.svg
@@ -0,0 +1,1610 @@
+
+
+
+
\ No newline at end of file
diff --git a/main/img/icons/svg/tickets.svg b/main/img/icons/svg/tickets.svg
new file mode 100644
index 0000000000..ca829d31c7
--- /dev/null
+++ b/main/img/icons/svg/tickets.svg
@@ -0,0 +1,1803 @@
+
+
+
+
\ No newline at end of file
diff --git a/main/img/icons/svg/tickets_urgent.svg b/main/img/icons/svg/tickets_urgent.svg
new file mode 100644
index 0000000000..4ebb746fc5
--- /dev/null
+++ b/main/img/icons/svg/tickets_urgent.svg
@@ -0,0 +1,155 @@
+
+
diff --git a/main/inc/lib/TicketManager.php b/main/inc/lib/TicketManager.php
index fbc47a42a3..07bc4bc6e7 100644
--- a/main/inc/lib/TicketManager.php
+++ b/main/inc/lib/TicketManager.php
@@ -5,6 +5,7 @@ use Chamilo\TicketBundle\Entity\Project;
use Chamilo\TicketBundle\Entity\Status;
use Chamilo\TicketBundle\Entity\Priority;
use Chamilo\TicketBundle\Entity\Ticket;
+use \Database;
/**
* Class TicketManager
@@ -850,6 +851,9 @@ class TicketManager
ticket.message LIKE '%$keyword%' OR
ticket.keyword LIKE '%$keyword%' OR
ticket.source LIKE '%$keyword%' OR
+ cat.name LIKE '%$keyword%' OR
+ status.name LIKE '%$keyword%' OR
+ priority.name LIKE '%$keyword%' OR
ticket.personal_email LIKE '%$keyword%'
)";
}
@@ -863,10 +867,12 @@ class TicketManager
'keyword_priority' => 'ticket.priority_id'
];
- foreach ($keywords as $keyword => $sqlLabel) {
+ foreach ($keywords as $keyword => $label) {
if (isset($_GET[$keyword])) {
$data = Database::escape_string(trim($_GET[$keyword]));
- $sql .= " AND $sqlLabel = '$data' ";
+ if (!empty($data)) {
+ $sql .= " AND $label = '$data' ";
+ }
}
}
@@ -932,14 +938,20 @@ class TicketManager
$img_source = 'icons/32/event.png';
break;
default:
- $img_source = 'icons/32/course_home.png';
+ $img_source = 'icons/32/ticket.png';
break;
}
$row['start_date'] = Display::dateToStringAgoAndLongDate($row['start_date']);
$row['sys_lastedit_datetime'] = Display::dateToStringAgoAndLongDate($row['sys_lastedit_datetime']);
- $icon = Display::return_icon($img_source, get_lang('Info')).''.$row['code'].'';
+ $icon = Display::return_icon(
+ $img_source,
+ get_lang('Info'),
+ ['style' => 'margin-right: 10px; float: left;']
+ );
+
+ $icon .= ''.$row['code'].'';
if ($isAdmin) {
$ticket = array(
@@ -2167,29 +2179,48 @@ class TicketManager
}
/**
- * @return string
+ * Returns a list of menu elements for the tickets system's configuration
+ * @param string $exclude The element to exclude from the list
+ * @return array
*/
- public static function getSettingsMenu()
+ public static function getSettingsMenuItems($exclude = null)
{
- $items = [
- [
- 'url' => 'projects.php',
- 'content' => get_lang('Projects')
- ],
- [
- 'url' => 'status.php',
- 'content' => get_lang('Status')
- ],
- [
- 'url' => 'priorities.php',
- 'content' => get_lang('Priority')
- ]
+ $items = [];
+ $project = [
+ 'icon' => 'project.png',
+ 'url' => 'projects.php',
+ 'content' => get_lang('Projects')
+ ];
+ $status = [
+ 'icon' => 'check-circle.png',
+ 'url' => 'status.php',
+ 'content' => get_lang('Status')
];
+ $priority = [
+ 'icon' => 'tickets_urgent.png',
+ 'url' => 'priorities.php',
+ 'content' => get_lang('Priority')
+ ];
+ switch ($exclude) {
+ case 'project':
+ $items = [$status, $priority];
+ break;
+ case 'status':
+ $items = [$project, $priority];
+ break;
+ case 'priority':
+ $items = [$project, $status];
+ break;
+ default:
+ $items = [$project, $status, $priority];
+ break;
+ }
- echo Display::actions($items);
+ return $items;
}
/**
+ * Returns a list of strings representing the default statuses
* @return array
*/
public static function getDefaultStatusList()
diff --git a/main/inc/lib/template.lib.php b/main/inc/lib/template.lib.php
index 3c4b5e45b3..04e442c810 100755
--- a/main/inc/lib/template.lib.php
+++ b/main/inc/lib/template.lib.php
@@ -1004,7 +1004,7 @@ class Template
if (api_get_setting('show_link_ticket_notification') == 'true' && $this->user_is_logged_in) {
// by default is project_id = 1
$iconTicket = Display::return_icon(
- 'bug.png',
+ 'help.png',
get_lang('Ticket'),
[],
ICON_SIZE_LARGE
@@ -1015,7 +1015,7 @@ class Template
$courseParams = api_get_cidreq();
}
$url = api_get_path(WEB_CODE_PATH).'ticket/tickets.php?project_id=1&'.$courseParams;
- $rightFloatMenu .= '
+ $rightFloatMenu .= '
'.$iconTicket.'
diff --git a/main/template/rainbow/skill/student_report.tpl b/main/template/rainbow/skill/student_report.tpl
index 1ebd703647..9c3e0bdd34 100644
--- a/main/template/rainbow/skill/student_report.tpl
+++ b/main/template/rainbow/skill/student_report.tpl
@@ -1,3 +1,4 @@
+
-
+
+
+{{ 'MySkillsReportIntroduction' | get_lang }}
+
{% if rows %}
-
+ {% if skill_table %}
+ {{ skill_table }}
+ {% endif %}
+
+
@@ -40,7 +48,4 @@
{% endfor %}
- {% if skill_table %}
- {{ skill_table }}
- {% endif %}
{% endif %}
diff --git a/main/ticket/priorities.php b/main/ticket/priorities.php
index 767b7184f6..5d74c59aea 100644
--- a/main/ticket/priorities.php
+++ b/main/ticket/priorities.php
@@ -150,13 +150,24 @@ $table->set_column_filter('3', 'modify_filter');
Display::display_header($toolName);
$items = [
- [
- 'url' => 'priorities.php?action=add',
- 'content' => Display::return_icon('new_folder.png', null, null, ICON_SIZE_MEDIUM)
- ]
+ 'icon' => 'new_folder.png',
+ 'url' => 'priorities.php?action=add',
+ 'content' => get_lang('AddPriority')
];
-
-echo Display::actions($items);
+echo '
';
+echo Display::url(
+ Display::return_icon('back.png', get_lang('Tickets'), [], ICON_SIZE_MEDIUM),
+ api_get_path(WEB_CODE_PATH).'ticket/tickets.php'
+);
+$sections = TicketManager::getSettingsMenuItems('priority');
+array_unshift($sections, $items);
+foreach ($sections as $item) {
+ echo Display::url(
+ Display::return_icon($item['icon'], $item['content'], [], ICON_SIZE_MEDIUM),
+ $item['url']
+ );
+}
+echo '
';
echo $formToString;
echo $table->return_table();
diff --git a/main/ticket/projects.php b/main/ticket/projects.php
index f19bb5e60c..2969b66d78 100644
--- a/main/ticket/projects.php
+++ b/main/ticket/projects.php
@@ -161,13 +161,26 @@ $table->set_column_filter('3', 'modify_filter');
Display::display_header('');
$items = [
- [
- 'url' => 'projects.php?action=add',
- 'content' => Display::return_icon('new_folder.png', null, null, ICON_SIZE_MEDIUM)
- ]
+ 'icon' => 'new_folder.png',
+ 'url' => 'projects.php?action=add',
+ 'content' => get_lang('AddProject')
];
-echo Display::actions($items);
+echo '
';
+echo Display::url(
+ Display::return_icon('back.png', get_lang('Tickets'), [], ICON_SIZE_MEDIUM),
+ api_get_path(WEB_CODE_PATH).'ticket/tickets.php'
+);
+$sections = TicketManager::getSettingsMenuItems('project');
+array_unshift($sections, $items);
+foreach ($sections as $item) {
+ echo Display::url(
+ Display::return_icon($item['icon'], $item['content'], [], ICON_SIZE_MEDIUM),
+ $item['url']
+ );
+}
+echo '
';
+
echo $formToString;
echo $table->return_table();
diff --git a/main/ticket/settings.php b/main/ticket/settings.php
index b3c5efde70..defe223e2c 100644
--- a/main/ticket/settings.php
+++ b/main/ticket/settings.php
@@ -21,8 +21,15 @@ echo Display::url(
Display::return_icon('back.png', get_lang('Tickets'), [], ICON_SIZE_MEDIUM),
api_get_path(WEB_CODE_PATH).'ticket/tickets.php'
);
+$sections = TicketManager::getSettingsMenuItems();
+foreach ($sections as $item) {
+ echo Display::url(
+ Display::return_icon($item['icon'], $item['content'], [], ICON_SIZE_MEDIUM),
+ $item['url']
+ );
+}
echo '
';
-echo TicketManager::getSettingsMenu();
+
Display::display_footer();
diff --git a/main/ticket/status.php b/main/ticket/status.php
index b711ca50d7..36ba50def4 100644
--- a/main/ticket/status.php
+++ b/main/ticket/status.php
@@ -151,13 +151,24 @@ $table->set_column_filter('3', 'modify_filter');
Display::display_header($toolName);
$items = [
- [
- 'url' => 'status.php?action=add',
- 'content' => Display::return_icon('new_folder.png', null, null, ICON_SIZE_MEDIUM)
- ]
+ 'icon' => 'new_folder.png',
+ 'url' => 'status.php?action=add',
+ 'content' => get_lang('AddStatus')
];
-
-echo Display::actions($items);
+echo '
';
+echo Display::url(
+ Display::return_icon('back.png', get_lang('Tickets'), [], ICON_SIZE_MEDIUM),
+ api_get_path(WEB_CODE_PATH).'ticket/tickets.php'
+);
+$sections = TicketManager::getSettingsMenuItems('status');
+array_unshift($sections, $items);
+foreach ($sections as $item) {
+ echo Display::url(
+ Display::return_icon($item['icon'], $item['content'], [], ICON_SIZE_MEDIUM),
+ $item['url']
+ );
+}
+echo '
';
echo $formToString;
echo $table->return_table();
diff --git a/main/ticket/tickets.php b/main/ticket/tickets.php
index 3545b7146e..1a722c34af 100644
--- a/main/ticket/tickets.php
+++ b/main/ticket/tickets.php
@@ -236,7 +236,7 @@ if (!empty($projectId)) {
null,
ICON_SIZE_MEDIUM
),
- api_get_path(WEB_CODE_PATH) . 'ticket/new_ticket.php?project_id=' . $projectId,
+ api_get_path(WEB_CODE_PATH) . 'ticket/new_ticket.php?project_id=' . $projectId.'&'.api_get_cidReq(),
['title' => get_lang('Add')]
);
}
@@ -256,7 +256,7 @@ if (!empty($projectId)) {
$actionRight .= Display::url(
Display::return_icon(
'settings.png',
- get_lang('Categories'),
+ get_lang('Settings'),
null,
ICON_SIZE_MEDIUM
),
@@ -283,21 +283,32 @@ if (!empty($projectId)) {
}
$options = '';
+ $iconProject = Display::return_icon(
+ 'project.png',
+ get_lang('Projects'),
+ null,
+ ICON_SIZE_MEDIUM
+ ) ;
if ($isAdmin) {
$options .= Display::url(
- get_lang('Projects'),
+ $iconProject,
api_get_path(WEB_CODE_PATH).'ticket/projects.php'
);
}
-
- $options .= Display::url(
+ $iconTicket = Display::return_icon(
+ 'tickets.png',
$ticketLabel,
+ null,
+ ICON_SIZE_MEDIUM
+ ) ;
+ $options .= Display::url(
+ $iconTicket,
$url
);
if ($isAllow) {
echo Display::toolbarAction(
- 'options',
+ 'toolbar-options',
array(
$options
)