Commit 7e400b526c30d7dd7888b3312a2b826b6c1c9e41

Authored by Rodrigo Gonçalves
1 parent dd00e7c4
Exists in master

Ajustes para OTRS 5.0.x

CreateOpm.sh
1 1 #!/bin/bash
2 2 LOCAL="$PWD"
3   -cd /opt/otrs/bin
4   -./otrs.PackageManager.pl -a build -p "$LOCAL"/QueueService.sopm -o "$LOCAL"/
  3 +cd /opt/otrs
  4 +bin/otrs.Console.pl Dev::Package::Build "$LOCAL"/QueueService.sopm "$LOCAL"/
5 5 cd $LOCAL
... ...
Kernel/Config/Files/QueueService.xml
... ... @@ -13,7 +13,7 @@
13 13 <Title Lang="pt_BR">Serviços por fila</Title>
14 14 <NavBarName>Admin</NavBarName>
15 15 <NavBarModule>
16   - <Module>Kernel::Output::HTML::NavBarModuleAdmin</Module>
  16 + <Module>Kernel::Output::HTML::NavBar::ModuleAdmin</Module>
17 17 <Name Lang="en">Services per queue</Name>
18 18 <Name Lang="pt_BR">Serviços por fila</Name>
19 19 <Description Lang="en">Create and manages services per queue</Description>
... ...
Kernel/Output/HTML/Standard/QueueService.tt
... ... @@ -1,86 +0,0 @@
1   -# --
2   -# Kernel/Output/HTML/Standard/QueueService.tt - overview
3   -# Copyright (C) (2014) SeTIC - UFSC - http://setic.ufsc.br/
4   -# Version 06/01/2015 - Adjusts for OTRS 4
5   -#
6   -# This software comes with ABSOLUTELY NO WARRANTY. For details, see
7   -# the enclosed file COPYING for license information (AGPL). If you
8   -# did not receive this file, see http://www.gnu.org/licenses/agpl.txt.
9   -# --
10   -<div class="MainBox ARIARoleMain LayoutFixedSidebar SidebarFirst">
11   - <h1>[% Translate("Services per queue") | html %]</h1>
12   -
13   - <div class="SidebarColumn">
14   -
15   - <div class="WidgetSimple">
16   - <div class="Header">
17   - <h2>[% Translate("Actions") | html %]</h2>
18   - </div>
19   - <div class="Content">
20   - <ul class="ActionList">
21   - <li>
22   - <a href="[% Env("Baselink") %]Action=[% Env("Action") %]" class="CallForAction"><span>[% Translate("Go to overview") | html %]</span></a>
23   - </li>
24   - </ul>
25   - </div>
26   - </div>
27   -
28   -[% RenderBlockStart("serviceFilter") %]
29   - <div class="WidgetSimple">
30   - <div class="Header">
31   - <h2><label for="FilterServices">[% Translate("Services") | html %]</label></h2>
32   - </div>
33   - <div class="Content">
34   - <input type="text" id="FilterUsers" class="W50pc" name="FilterUser" value="" title="[% Translate("Service") | html %]" />
35   - </div>
36   - </div>
37   -[% RenderBlockEnd("serviceFilter") %]
38   -[% RenderBlockStart("queueFilter") %]
39   - <div class="WidgetSimple">
40   - <div class="Header">
41   - <h2><label for="FilterQueues">[% Translate("Queues") | html %]</label></h2>
42   - </div>
43   - <div class="Content">
44   - <input type="text" id="FilterGroups" class="W50pc" name="FilterGroups" value="" title="[% Translate("Queue") | html %]"/>
45   - </div>
46   - </div>
47   -[% RenderBlockEnd("queueFilter") %]
48   - </div>
49   -
50   - <div class="ContentColumn">
51   - <div class="WidgetSimple">
52   -
53   - <div class="Header">
54   - <h2>[% Translate("Overview") | html %]</h2>
55   - </div>
56   - <div class="Content LayoutGrid ColumnsWithSpacing">
57   - <div class="Size1of2">
58   - <ul class="Tablelike" id="Services">
59   - <li class="Header">[% Translate("Services") | html %]</li>
60   - <li class="FilterMessage Hidden">[% Translate("No matches found.") | html %]</li>
61   -[% RenderBlockStart("ListService") %]
62   - <li><a href="[% Env("Baselink") %]Action=[% Env("Action") %];Subaction=ServiceEdit;ID=[% Data.ServiceID | uri %]" class="AsBlock">[% Data.ServiceName | html %]</a></li>
63   -[% RenderBlockEnd("ListService") %]
64   - </ul>
65   - </div>
66   - <div class="Size1of2">
67   - <ul class="Tablelike" id="Queues">
68   - <li class="Header">[% Translate("Queues") | html %]</li>
69   - <li class="FilterMessage Hidden">[% Translate("No matches found.") | html %]</li>
70   -[% RenderBlockStart("ListQueue") %]
71   - <li><a href="[% Env("Baselink") %]Action=[% Env("Action") %];Subaction=QueueEdit;ID=[% Data.QueueID | uri %]" class="AsBlock">[% Data.QueueName | html %]</a></li>
72   -[% RenderBlockEnd("ListQueue") %]
73   - </ul>
74   - </div>
75   - <div class="Clear"></div>
76   - </div>
77   -
78   -
79   -[% WRAPPER JSOnDocumentComplete %]
80   -<script type="text/javascript">//<![CDATA[
81   - Core.UI.Table.InitTableFilter($('#FilterServices'), $('#Services'));
82   - Core.UI.Table.InitTableFilter($('#FilterQueues'), $('#Queues'));
83   -//]]></script>
84   -[% END %]
85   -
86   -
87 0 \ No newline at end of file
Kernel/Output/HTML/Standard/QueueServiceChange.tt
... ... @@ -1,103 +0,0 @@
1   -# --
2   -# Kernel/Output/HTML/Standard/QueueServiceChange.tt - edit
3   -# Copyright (C) (2014) SeTIC - UFSC - http://setic.ufsc.br/
4   -# Version 06/01/2015 - Adjusts for OTRS 4
5   -#
6   -# This software comes with ABSOLUTELY NO WARRANTY. For details, see
7   -# the enclosed file COPYING for license information (AGPL). If you
8   -# did not receive this file, see http://www.gnu.org/licenses/agpl.txt.
9   -# --
10   -<div class="MainBox ARIARoleMain LayoutFixedSidebar SidebarFirst">
11   - <h1>[% Translate("Services and queues") | html %]</h1>
12   - <div class="SidebarColumn">
13   - <div class="WidgetSimple">
14   - <div class="Header">
15   - <h2>[% Translate("Actions") | html %]</h2>
16   - </div>
17   - <div class="Content">
18   - <ul class="ActionList">
19   - <li>
20   - <a href="[% Env("Baselink") %]Action=[% Env("Action") %]" class="CallForAction"><span>[% Translate("Go to overview") | html %]</span></a>
21   - </li>
22   - </ul>
23   - </div>
24   - </div>
25   - <div class="WidgetSimple">
26   - <div class="Header">
27   - <h2>
28   - <label for="Filter">[% Translate("Filter") | html %]</label>
29   - </h2>
30   - </div>
31   - <div class="Content">
32   - <input type="text" id="Filter" class="W50pc" name="Filter" value="" title="[% Translate("Filter") | html %]" />
33   - </div>
34   - </div>
35   - </div>
36   -
37   - <div class="ContentColumn">
38   - <div class="WidgetSimple">
39   - <div class="Header">
40   - <h2>
41   -[% RenderBlockStart("ChangeHeaderService") %]
42   - [% Translate("Select queues for the service") | html %]
43   -[% RenderBlockEnd("ChangeHeaderService") %]
44   -[% RenderBlockStart("ChangeHeaderQueue") %]
45   - [% Translate("Select services for the queue") | html %]
46   -[% RenderBlockEnd("ChangeHeaderQueue") %]
47   - [% Data.Name | html %]
48   - </h2>
49   - </div>
50   - <div class="Content ">
51   - <form action="[% Env("CGIHandle") %]" method="post" name="matrix">
52   - <input type="hidden" name="Action" value="[% Env("Action") %]"/>
53   - <input type="hidden" name="Subaction" value="Change[% Data.VisibleNeType | html %]"/>
54   - <input type="hidden" name="ID" value="[% Data.ID | html %]"/>
55   - <table class="DataTable VariableWidth" id="ServicesQueues">
56   - <thead>
57   - <tr>
58   - <th>[% Translate(Data.VisibleNeType) | html %]</th>
59   -[% RenderBlockStart("ChangeHeader") %]
60   - <th class="Center [% Data.Mark | html %]">
61   - <input type="checkbox" name="[% Data.Type | html %]" id="SelectAll[% Data.Type | html %]" title="[% Translate("Toggle active state for all") | html %]" value="" />
62   - [% Translate("Active") | html %]
63   - </th>
64   -[% WRAPPER JSOnDocumentComplete %]
65   -<script type="text/javascript">//<![CDATA[
66   - Core.Form.InitSelectAllCheckboxes($('table td input:checkbox[name=[% Data.Type | html %]]'), $('#SelectAll[% Data.Type | html %]'));
67   - $('input:checkbox[name=[% Data.Type | html %]]').bind('click', function () {
68   - Core.Form.SelectAllCheckboxes($(this), $('#SelectAll[% Data.Type | html %]'));
69   - });
70   -//]]></script>
71   -[% END %]
72   -[% RenderBlockEnd("ChangeHeader") %]
73   - </tr>
74   - </thead>
75   - <tbody>
76   -[% RenderBlockStart("ChangeRow") %]
77   - <tr>
78   - <td>[% Data.Name | html %]</td>
79   - <td class="[% Data.Mark | html %]">
80   - <input type="checkbox" name="[% Data.Type | html %]" title="[% Translate("Toggle active state for %s", Data.Name) | html %]" value="[% Data.ID | html %]" [% Data.Selected %]/>
81   - </td>
82   - </tr>
83   -[% RenderBlockEnd("ChangeRow") %]
84   - </tbody>
85   - </table>
86   - <div class="Field SpacingTop">
87   - <button class="Primary" type="submit" value="[% Translate("Submit") | html %]">[% Translate("Submit") | html %]</button>
88   - [% Translate("or") | html %]
89   - <a href="[% Env("Baselink") %]Action=[% Env("Action") %]">[% Translate("Cancel") | html %]</a>
90   - </div>
91   - <div class="Clear"></div>
92   - </form>
93   - </div>
94   - </div>
95   - </div>
96   - <div class="Clear"></div>
97   -</div>
98   -
99   -[% WRAPPER JSOnDocumentComplete %]
100   -<script type="text/javascript">//<![CDATA[
101   - Core.UI.Table.InitTableFilter($('#Filter'), $('#ServicesQueues'));
102   -//]]></script>
103   -[% END %]
Kernel/Output/HTML/Templates/Standard/QueueService.tt 0 → 100644
... ... @@ -0,0 +1,86 @@
  1 +# --
  2 +# Kernel/Output/HTML/Standard/QueueService.tt - overview
  3 +# Copyright (C) (2014) SeTIC - UFSC - http://setic.ufsc.br/
  4 +# Version 06/01/2015 - Adjusts for OTRS 4
  5 +#
  6 +# This software comes with ABSOLUTELY NO WARRANTY. For details, see
  7 +# the enclosed file COPYING for license information (AGPL). If you
  8 +# did not receive this file, see http://www.gnu.org/licenses/agpl.txt.
  9 +# --
  10 +<div class="MainBox ARIARoleMain LayoutFixedSidebar SidebarFirst">
  11 + <h1>[% Translate("Services per queue") | html %]</h1>
  12 +
  13 + <div class="SidebarColumn">
  14 +
  15 + <div class="WidgetSimple">
  16 + <div class="Header">
  17 + <h2>[% Translate("Actions") | html %]</h2>
  18 + </div>
  19 + <div class="Content">
  20 + <ul class="ActionList">
  21 + <li>
  22 + <a href="[% Env("Baselink") %]Action=[% Env("Action") %]" class="CallForAction"><span>[% Translate("Go to overview") | html %]</span></a>
  23 + </li>
  24 + </ul>
  25 + </div>
  26 + </div>
  27 +
  28 +[% RenderBlockStart("serviceFilter") %]
  29 + <div class="WidgetSimple">
  30 + <div class="Header">
  31 + <h2><label for="FilterServices">[% Translate("Services") | html %]</label></h2>
  32 + </div>
  33 + <div class="Content">
  34 + <input type="text" id="FilterUsers" class="W50pc" name="FilterUser" value="" title="[% Translate("Service") | html %]" />
  35 + </div>
  36 + </div>
  37 +[% RenderBlockEnd("serviceFilter") %]
  38 +[% RenderBlockStart("queueFilter") %]
  39 + <div class="WidgetSimple">
  40 + <div class="Header">
  41 + <h2><label for="FilterQueues">[% Translate("Queues") | html %]</label></h2>
  42 + </div>
  43 + <div class="Content">
  44 + <input type="text" id="FilterGroups" class="W50pc" name="FilterGroups" value="" title="[% Translate("Queue") | html %]"/>
  45 + </div>
  46 + </div>
  47 +[% RenderBlockEnd("queueFilter") %]
  48 + </div>
  49 +
  50 + <div class="ContentColumn">
  51 + <div class="WidgetSimple">
  52 +
  53 + <div class="Header">
  54 + <h2>[% Translate("Overview") | html %]</h2>
  55 + </div>
  56 + <div class="Content LayoutGrid ColumnsWithSpacing">
  57 + <div class="Size1of2">
  58 + <ul class="Tablelike" id="Services">
  59 + <li class="Header">[% Translate("Services") | html %]</li>
  60 + <li class="FilterMessage Hidden">[% Translate("No matches found.") | html %]</li>
  61 +[% RenderBlockStart("ListService") %]
  62 + <li><a href="[% Env("Baselink") %]Action=[% Env("Action") %];Subaction=ServiceEdit;ID=[% Data.ServiceID | uri %]" class="AsBlock">[% Data.ServiceName | html %]</a></li>
  63 +[% RenderBlockEnd("ListService") %]
  64 + </ul>
  65 + </div>
  66 + <div class="Size1of2">
  67 + <ul class="Tablelike" id="Queues">
  68 + <li class="Header">[% Translate("Queues") | html %]</li>
  69 + <li class="FilterMessage Hidden">[% Translate("No matches found.") | html %]</li>
  70 +[% RenderBlockStart("ListQueue") %]
  71 + <li><a href="[% Env("Baselink") %]Action=[% Env("Action") %];Subaction=QueueEdit;ID=[% Data.QueueID | uri %]" class="AsBlock">[% Data.QueueName | html %]</a></li>
  72 +[% RenderBlockEnd("ListQueue") %]
  73 + </ul>
  74 + </div>
  75 + <div class="Clear"></div>
  76 + </div>
  77 +
  78 +
  79 +[% WRAPPER JSOnDocumentComplete %]
  80 +<script type="text/javascript">//<![CDATA[
  81 + Core.UI.Table.InitTableFilter($('#FilterServices'), $('#Services'));
  82 + Core.UI.Table.InitTableFilter($('#FilterQueues'), $('#Queues'));
  83 +//]]></script>
  84 +[% END %]
  85 +
  86 +
0 87 \ No newline at end of file
... ...
Kernel/Output/HTML/Templates/Standard/QueueServiceChange.tt 0 → 100644
... ... @@ -0,0 +1,103 @@
  1 +# --
  2 +# Kernel/Output/HTML/Standard/QueueServiceChange.tt - edit
  3 +# Copyright (C) (2014) SeTIC - UFSC - http://setic.ufsc.br/
  4 +# Version 06/01/2015 - Adjusts for OTRS 4
  5 +#
  6 +# This software comes with ABSOLUTELY NO WARRANTY. For details, see
  7 +# the enclosed file COPYING for license information (AGPL). If you
  8 +# did not receive this file, see http://www.gnu.org/licenses/agpl.txt.
  9 +# --
  10 +<div class="MainBox ARIARoleMain LayoutFixedSidebar SidebarFirst">
  11 + <h1>[% Translate("Services and queues") | html %]</h1>
  12 + <div class="SidebarColumn">
  13 + <div class="WidgetSimple">
  14 + <div class="Header">
  15 + <h2>[% Translate("Actions") | html %]</h2>
  16 + </div>
  17 + <div class="Content">
  18 + <ul class="ActionList">
  19 + <li>
  20 + <a href="[% Env("Baselink") %]Action=[% Env("Action") %]" class="CallForAction"><span>[% Translate("Go to overview") | html %]</span></a>
  21 + </li>
  22 + </ul>
  23 + </div>
  24 + </div>
  25 + <div class="WidgetSimple">
  26 + <div class="Header">
  27 + <h2>
  28 + <label for="Filter">[% Translate("Filter") | html %]</label>
  29 + </h2>
  30 + </div>
  31 + <div class="Content">
  32 + <input type="text" id="Filter" class="W50pc" name="Filter" value="" title="[% Translate("Filter") | html %]" />
  33 + </div>
  34 + </div>
  35 + </div>
  36 +
  37 + <div class="ContentColumn">
  38 + <div class="WidgetSimple">
  39 + <div class="Header">
  40 + <h2>
  41 +[% RenderBlockStart("ChangeHeaderService") %]
  42 + [% Translate("Select queues for the service") | html %]
  43 +[% RenderBlockEnd("ChangeHeaderService") %]
  44 +[% RenderBlockStart("ChangeHeaderQueue") %]
  45 + [% Translate("Select services for the queue") | html %]
  46 +[% RenderBlockEnd("ChangeHeaderQueue") %]
  47 + [% Data.Name | html %]
  48 + </h2>
  49 + </div>
  50 + <div class="Content ">
  51 + <form action="[% Env("CGIHandle") %]" method="post" name="matrix">
  52 + <input type="hidden" name="Action" value="[% Env("Action") %]"/>
  53 + <input type="hidden" name="Subaction" value="Change[% Data.VisibleNeType | html %]"/>
  54 + <input type="hidden" name="ID" value="[% Data.ID | html %]"/>
  55 + <table class="DataTable VariableWidth" id="ServicesQueues">
  56 + <thead>
  57 + <tr>
  58 + <th>[% Translate(Data.VisibleNeType) | html %]</th>
  59 +[% RenderBlockStart("ChangeHeader") %]
  60 + <th class="Center [% Data.Mark | html %]">
  61 + <input type="checkbox" name="[% Data.Type | html %]" id="SelectAll[% Data.Type | html %]" title="[% Translate("Toggle active state for all") | html %]" value="" />
  62 + [% Translate("Active") | html %]
  63 + </th>
  64 +[% WRAPPER JSOnDocumentComplete %]
  65 +<script type="text/javascript">//<![CDATA[
  66 + Core.Form.InitSelectAllCheckboxes($('table td input:checkbox[name=[% Data.Type | html %]]'), $('#SelectAll[% Data.Type | html %]'));
  67 + $('input:checkbox[name=[% Data.Type | html %]]').bind('click', function () {
  68 + Core.Form.SelectAllCheckboxes($(this), $('#SelectAll[% Data.Type | html %]'));
  69 + });
  70 +//]]></script>
  71 +[% END %]
  72 +[% RenderBlockEnd("ChangeHeader") %]
  73 + </tr>
  74 + </thead>
  75 + <tbody>
  76 +[% RenderBlockStart("ChangeRow") %]
  77 + <tr>
  78 + <td>[% Data.Name | html %]</td>
  79 + <td class="[% Data.Mark | html %]">
  80 + <input type="checkbox" name="[% Data.Type | html %]" title="[% Translate("Toggle active state for %s", Data.Name) | html %]" value="[% Data.ID | html %]" [% Data.Selected %]/>
  81 + </td>
  82 + </tr>
  83 +[% RenderBlockEnd("ChangeRow") %]
  84 + </tbody>
  85 + </table>
  86 + <div class="Field SpacingTop">
  87 + <button class="Primary" type="submit" value="[% Translate("Submit") | html %]">[% Translate("Submit") | html %]</button>
  88 + [% Translate("or") | html %]
  89 + <a href="[% Env("Baselink") %]Action=[% Env("Action") %]">[% Translate("Cancel") | html %]</a>
  90 + </div>
  91 + <div class="Clear"></div>
  92 + </form>
  93 + </div>
  94 + </div>
  95 + </div>
  96 + <div class="Clear"></div>
  97 +</div>
  98 +
  99 +[% WRAPPER JSOnDocumentComplete %]
  100 +<script type="text/javascript">//<![CDATA[
  101 + Core.UI.Table.InitTableFilter($('#Filter'), $('#ServicesQueues'));
  102 +//]]></script>
  103 +[% END %]
... ...
QueueService.sopm
1 1 <?xml version="1.0" encoding="utf-8" ?>
2 2 <otrs_package version="1.0">
3 3 <Name>QueueService</Name>
4   - <Version>1.1.1</Version>
5   - <Framework>4.0.x</Framework>
  4 + <Version>1.2.0</Version>
  5 + <Framework>5.0.x</Framework>
6 6 <Vendor>SeTIC</Vendor>
7 7 <URL>http://setic.ufsc.br</URL>
8 8 <License>GPLv2</License>
9 9  
10 10 <ChangeLog Version="1.0.0" Date="2014-06-01">First Version</ChangeLog>
11 11 <ChangeLog Version="1.1.0" Date="2014-01-06">Support for OTRS 4</ChangeLog>
  12 + <ChangeLog Version="1.2.0" Date="2014-01-06">Support for OTRS 5.0.x</ChangeLog>
12 13  
13 14 <Description>Services per queue association</Description>
14 15  
... ... @@ -23,8 +24,8 @@
23 24 <File Permission="644" Location="Kernel/Config/Files/QueueService.xml"></File>
24 25 <File Permission="644" Location="Kernel/Language/pt_BR_QueueService.pm"></File>
25 26 <File Permission="644" Location="Kernel/Modules/QueueService.pm"></File>
26   - <File Permission="644" Location="Kernel/Output/HTML/Standard/QueueService.tt"></File>
27   - <File Permission="644" Location="Kernel/Output/HTML/Standard/QueueServiceChange.tt"></File>
  27 + <File Permission="644" Location="Kernel/Output/HTML/Templates/Standard/QueueService.tt"></File>
  28 + <File Permission="644" Location="Kernel/Output/HTML/Templates/Standard/QueueServiceChange.tt"></File>
28 29 <File Permission="644" Location="Kernel/System/QueueService.pm"></File>
29 30 </Filelist>
30 31 <DatabaseInstall>
... ...