Commit 4081bf896bc0a39c677fe49b1ca00e50dc90e55f
0 parents
Exists in
master
fist commit
Showing
10 changed files
with
529 additions
and
0 deletions
Show diff stats
1 | +++ a/FAQTag.sopm | ||
@@ -0,0 +1,39 @@ | @@ -0,0 +1,39 @@ | ||
1 | +<?xml version="1.0" encoding="utf-8" ?> | ||
2 | +<otrs_package version="1.0"> | ||
3 | + <Name>FAQTag</Name> | ||
4 | + <Version>1.0</Version> | ||
5 | + <Vendor>SeTIC</Vendor> | ||
6 | + <URL>http://setic.ufsc.br</URL> | ||
7 | + <License>GNU GENERAL PUBLIC LICENSE Version 2, June 1991</License> | ||
8 | + <ChangeLog Date="2013-03-19 9:17:53" Version="1.0">Módulo criado.</ChangeLog> | ||
9 | + <Description Lang="pt_BR">Cadastro de tags para gerar links dinâmicos e reduzidos para as categorias da FAQ.</Description> | ||
10 | + <Framework>3.3.x</Framework> | ||
11 | + <IntroInstall Lang="pt_BR" Title="Instalado!" Type="post">Módulo de tags instalado.</IntroInstall> | ||
12 | + <BuildDate>?</BuildDate> | ||
13 | + <BuildHost>?</BuildHost> | ||
14 | + <Filelist> | ||
15 | + <File Location="Kernel/Modules/AgentFAQTagOverview.pm" Permission="644"/> | ||
16 | + <File Location="Kernel/Modules/AgentFAQTagAdd.pm" Permission="644"/> | ||
17 | + <File Location="Kernel/Modules/RedirectFAQ.pm" Permission="644"/> | ||
18 | + <File Location="Kernel/Modules/PublicRedirectFAQ.pm" Permission="644"/> | ||
19 | + <File Location="Kernel/Output/HTML/Standard/AgentFAQTagOverview.dtl" Permission="644"/> | ||
20 | + <File Location="Kernel/Output/HTML/Standard/AgentFAQTagAdd.dtl" Permission="644"/> | ||
21 | + <File Location="Kernel/Config/Files/FAQTag.xml" Permission="644"/> | ||
22 | + </Filelist> | ||
23 | + <DatabaseInstall> | ||
24 | + <TableCreate Type="post" Name="faq_tag"> | ||
25 | + <Column AutoIncrement="true" Name="id" PrimaryKey="true" Required="true" Size="10" Type="INT"></Column> | ||
26 | + <Column Name="category_id" Required="true" Size="10" Type="INT"></Column> | ||
27 | + <Column Name="tag" Required="true" Size="20" Type="VARCHAR"></Column> | ||
28 | + <Unique> | ||
29 | + <UniqueColumn Name="category_id"></UniqueColumn> | ||
30 | + </Unique> | ||
31 | + <Unique> | ||
32 | + <UniqueColumn Name="tag"></UniqueColumn> | ||
33 | + </Unique> | ||
34 | + <ForeignKey ForeignTable="faq_category"> | ||
35 | + <Reference Foreign="id" Local="category_id"/> | ||
36 | + </ForeignKey> | ||
37 | + </TableCreate> | ||
38 | + </DatabaseInstall> | ||
39 | +</otrs_package> |
1 | +++ a/Kernel/Config/Files/FAQTag.xml | ||
@@ -0,0 +1,66 @@ | @@ -0,0 +1,66 @@ | ||
1 | +<?xml version="1.0" encoding="iso-8859-1"?> | ||
2 | +<otrs_config version="1.0" init="Application"> | ||
3 | + <ConfigItem Name="Frontend::Module###AgentFAQTagOverview" Required="0" Valid="1"> | ||
4 | + <Description Translatable="1">Frontend module registration for the agent interface.</Description> | ||
5 | + <Group>FAQ</Group> | ||
6 | + <SubGroup>Frontend::Agent::ModuleRegistration</SubGroup> | ||
7 | + <Setting> | ||
8 | + <FrontendModuleReg> | ||
9 | + <Group>faq</Group> | ||
10 | + <GroupRo>faq</GroupRo> | ||
11 | + <Title>FAQTag Overview</Title> | ||
12 | + <NavBarName>FAQ</NavBarName> | ||
13 | + <NavBar> | ||
14 | + <GroupRo>faq</GroupRo> | ||
15 | + <Description Translatable="1">Cadastro de tags para categorias</Description> | ||
16 | + <Name Translatable="1">Tag</Name> | ||
17 | + <Link>Action=AgentFAQTagOverview</Link> | ||
18 | + <Type></Type> | ||
19 | + <Block></Block> | ||
20 | + <NavBar>FAQ</NavBar> | ||
21 | + <Prio>970</Prio> | ||
22 | + </NavBar> | ||
23 | + <Loader> | ||
24 | + </Loader> | ||
25 | + </FrontendModuleReg> | ||
26 | + </Setting> | ||
27 | + </ConfigItem> | ||
28 | + <ConfigItem Name="Frontend::Module###AgentFAQTagAdd" Required="1" Valid="1"> | ||
29 | + <Description Translatable="1">Frontend module registration for the agent interface.</Description> | ||
30 | + <Group>FAQ</Group> | ||
31 | + <SubGroup>Frontend::Agent::ModuleRegistration</SubGroup> | ||
32 | + <Setting> | ||
33 | + <FrontendModuleReg> | ||
34 | + <Title>FAQTag add</Title> | ||
35 | + <Group>faq</Group> | ||
36 | + <Description>Adicionar e atualizar tags</Description> | ||
37 | + <NavBarName>FAQ</NavBarName> | ||
38 | + </FrontendModuleReg> | ||
39 | + </Setting> | ||
40 | + </ConfigItem> | ||
41 | + <ConfigItem Name="Frontend::Module###RedirectFAQ" Required="1" Valid="1"> | ||
42 | + <Description Translatable="1">Redirecionamento da página de categoria da FAQ.</Description> | ||
43 | + <Group>FAQ</Group> | ||
44 | + <SubGroup>Frontend::Agent::ModuleRegistration</SubGroup> | ||
45 | + <Setting> | ||
46 | + <FrontendModuleReg> | ||
47 | + <Title>Redirecionar FAQ</Title> | ||
48 | + <Group>faq</Group> | ||
49 | + <Description>Redirecionamento da página de categoria da FAQ.</Description> | ||
50 | + <NavBarName>FAQ</NavBarName> | ||
51 | + </FrontendModuleReg> | ||
52 | + </Setting> | ||
53 | + </ConfigItem> | ||
54 | + <ConfigItem Name="PublicFrontend::Module###PublicRedirectFAQ" Required="1" Valid="1"> | ||
55 | + <Description Translatable="1">Redirecionamento da página de categoria da FAQ.</Description> | ||
56 | + <Group>FAQ</Group> | ||
57 | + <SubGroup>Frontend::Public::ModuleRegistration</SubGroup> | ||
58 | + <Setting> | ||
59 | + <FrontendModuleReg> | ||
60 | + <Title>Redirecionar FAQ</Title> | ||
61 | + <Description>Redirecionamento da página de categoria da FAQ.</Description> | ||
62 | + <NavBarName>FAQ</NavBarName> | ||
63 | + </FrontendModuleReg> | ||
64 | + </Setting> | ||
65 | + </ConfigItem> | ||
66 | +</otrs_config> |
1 | +++ a/Kernel/Modules/AgentFAQTagAdd.pm | ||
@@ -0,0 +1,110 @@ | @@ -0,0 +1,110 @@ | ||
1 | + | ||
2 | + | ||
3 | +package Kernel::Modules::AgentFAQTagAdd; | ||
4 | + | ||
5 | +use strict; | ||
6 | +use warnings; | ||
7 | + | ||
8 | +sub new { | ||
9 | + my ( $Type, %Param ) = @_; | ||
10 | + | ||
11 | + # allocate new hash for object | ||
12 | + my $Self = {%Param}; | ||
13 | + bless ($Self, $Type); | ||
14 | + | ||
15 | + # check needed objects | ||
16 | + for (qw(ParamObject DBObject TicketObject LayoutObject LogObject QueueObject ConfigObject EncodeObject MainObject)) { | ||
17 | + if ( !$Self->{$_} ) { | ||
18 | + $Self->{LayoutObject}->FatalError( Message => "Got no $_!" ); | ||
19 | + } | ||
20 | + } | ||
21 | + return $Self; | ||
22 | +} | ||
23 | + | ||
24 | +sub Run { | ||
25 | + my ( $Self, %Param ) = @_; | ||
26 | + my %Data = (); | ||
27 | + | ||
28 | + my $Tag_id = $Self->{ParamObject}->GetParam( Param => 'id' ); | ||
29 | + my $Category = $Self->{ParamObject}->GetParam( Param => 'category' ); | ||
30 | + my $Tag = $Self->{ParamObject}->GetParam( Param => 'tag' ); | ||
31 | + my $Existe_Tag = 0; | ||
32 | + | ||
33 | + if ($Self->{ParamObject}->GetParam( Param => 'Subaction' ) eq "update") { | ||
34 | + | ||
35 | + if ($Self->_ExisteTag(tag => $Tag)){ | ||
36 | + $Existe_Tag = 1; | ||
37 | + | ||
38 | + }else{ | ||
39 | + if($Self->_GetTag(id => $Tag_id) eq undef){ | ||
40 | + $Self->{DBObject}->Do( | ||
41 | + SQL => "INSERT into faq_tag (category_id, tag) values ((select id from faq_category where name= ?), ?)", | ||
42 | + Bind => [\$Category, \$Tag], | ||
43 | + ); | ||
44 | + return $Self->{LayoutObject}->Redirect( OP => 'Action=AgentFAQTagOverview&added='.$Tag ); | ||
45 | + | ||
46 | + }else{ | ||
47 | + $Self->{DBObject}->Do( | ||
48 | + SQL => "update faq_tag set tag=? where id=?", | ||
49 | + Bind => [\$Tag, \$Tag_id], | ||
50 | + ); | ||
51 | + return $Self->{LayoutObject}->Redirect( OP => 'Action=AgentFAQTagOverview&edited='.$Tag ); | ||
52 | + } | ||
53 | + } | ||
54 | + } | ||
55 | + | ||
56 | + $Self->{LayoutObject}->Block( | ||
57 | + Name=> 'info', | ||
58 | + Data=> {id => $Tag_id, | ||
59 | + category => $Category, | ||
60 | + tag => $Tag, | ||
61 | + } | ||
62 | + ); | ||
63 | + | ||
64 | + # build output | ||
65 | + my $Output = $Self->{LayoutObject}->Header(Title => "Tag"); | ||
66 | + | ||
67 | + if($Existe_Tag == 1){ | ||
68 | + $Output .= $Self->{LayoutObject}->Notify(Priority => 'Error', Info=> "A tag ".$Tag." j\x{e1} existe."); | ||
69 | + } | ||
70 | + $Output .= $Self->{LayoutObject}->NavigationBar(); | ||
71 | + $Output .= $Self->{LayoutObject}->Output( | ||
72 | + Data => \%Data, | ||
73 | + TemplateFile => 'AgentFAQTagAdd', | ||
74 | + ); | ||
75 | + $Output .= $Self->{LayoutObject}->Footer(); | ||
76 | + return $Output; | ||
77 | +} | ||
78 | + | ||
79 | +sub _GetTag { | ||
80 | + | ||
81 | + my ( $Self, %Param ) = @_; | ||
82 | + | ||
83 | + | ||
84 | + $Self->{DBObject}->Prepare( | ||
85 | + SQL => "select tag from faq_tag where id = $Param{id}", | ||
86 | + ); | ||
87 | + my $TAG; | ||
88 | + while (my @Row = $Self->{DBObject}->FetchrowArray()) { | ||
89 | + $TAG = $Row[0]; | ||
90 | + } | ||
91 | + return $TAG; | ||
92 | + | ||
93 | +} | ||
94 | + | ||
95 | +sub _ExisteTag { | ||
96 | + | ||
97 | + my ( $Self, %Param ) = @_; | ||
98 | + | ||
99 | + | ||
100 | + $Self->{DBObject}->Prepare( | ||
101 | + SQL => "select id from faq_tag where tag = '$Param{tag}'", | ||
102 | + ); | ||
103 | + my $Id; | ||
104 | + while (my @Row = $Self->{DBObject}->FetchrowArray()) { | ||
105 | + $Id = $Row[0]; | ||
106 | + } | ||
107 | + return $Id; | ||
108 | + | ||
109 | +} | ||
110 | +1; |
1 | +++ a/Kernel/Modules/AgentFAQTagOverview.pm | ||
@@ -0,0 +1,69 @@ | @@ -0,0 +1,69 @@ | ||
1 | + | ||
2 | +package Kernel::Modules::AgentFAQTagOverview; | ||
3 | + | ||
4 | +use strict; | ||
5 | +use warnings; | ||
6 | + | ||
7 | +sub new { | ||
8 | + my ( $Type, %Param ) = @_; | ||
9 | + | ||
10 | + # allocate new hash for object | ||
11 | + my $Self = {%Param}; | ||
12 | + bless ($Self, $Type); | ||
13 | + | ||
14 | + # check needed objects | ||
15 | + for (qw(ParamObject DBObject TicketObject LayoutObject LogObject QueueObject ConfigObject EncodeObject MainObject)) { | ||
16 | + if ( !$Self->{$_} ) { | ||
17 | + $Self->{LayoutObject}->FatalError( Message => "Got no $_!" ); | ||
18 | + } | ||
19 | + } | ||
20 | + | ||
21 | + return $Self; | ||
22 | +} | ||
23 | + | ||
24 | +sub Run { | ||
25 | + my ( $Self, %Param ) = @_; | ||
26 | + my %Data = (); | ||
27 | + | ||
28 | + if ($Self->{ParamObject}->GetParam( Param => 'Subaction' ) eq "delete") { | ||
29 | + my $Var1 = $Self->{ParamObject}->GetParam( Param => 'id' ); | ||
30 | + $Self->{DBObject}->Do( | ||
31 | + SQL => "DELETE FROM faq_tag where id=?", | ||
32 | + Bind => [ \$Var1 ], | ||
33 | + ); | ||
34 | + } | ||
35 | + | ||
36 | + | ||
37 | + $Self->{DBObject}->Prepare( | ||
38 | + SQL => "select faq_tag.id, faq_tag.tag, faq_category.name from faq_category left join faq_tag on (faq_category.id = faq_tag.category_id)", | ||
39 | + ); | ||
40 | + | ||
41 | + while (my @Row = $Self->{DBObject}->FetchrowArray()) { | ||
42 | + $Self->{LayoutObject}->Block( | ||
43 | + Name=> 'dadostabela', | ||
44 | + Data=> {id=>$Row[0], tag=>$Row[1], category=>$Row[2]} | ||
45 | + ); | ||
46 | + } | ||
47 | + | ||
48 | + # build output | ||
49 | + my $Output = $Self->{LayoutObject}->Header(Title => "Tag"); | ||
50 | + | ||
51 | + if ($Self->{ParamObject}->GetParam( Param => 'added' )) { | ||
52 | + my $Added = $Self->{ParamObject}->GetParam( Param => 'added' ); | ||
53 | + $Output .= $Self->{LayoutObject}->Notify( Info => 'Tag '.$Added.' adicionada!' ); | ||
54 | + } | ||
55 | + if ($Self->{ParamObject}->GetParam( Param => 'edited' )) { | ||
56 | + my $Edited = $Self->{ParamObject}->GetParam( Param => 'edited' ); | ||
57 | + $Output .= $Self->{LayoutObject}->Notify( Info => 'Tag '.$Edited.' modificada!' ); | ||
58 | + } | ||
59 | + | ||
60 | + $Output .= $Self->{LayoutObject}->NavigationBar(); | ||
61 | + $Output .= $Self->{LayoutObject}->Output( | ||
62 | + Data => \%Data, | ||
63 | + TemplateFile => 'AgentFAQTagOverview', | ||
64 | + ); | ||
65 | + $Output .= $Self->{LayoutObject}->Footer(); | ||
66 | + return $Output; | ||
67 | + | ||
68 | +} | ||
69 | +1; |
1 | +++ a/Kernel/Modules/PublicRedirectFAQ.pm | ||
@@ -0,0 +1,55 @@ | @@ -0,0 +1,55 @@ | ||
1 | + | ||
2 | +package Kernel::Modules::PublicRedirectFAQ; | ||
3 | + | ||
4 | +use strict; | ||
5 | +use warnings; | ||
6 | + | ||
7 | +sub new { | ||
8 | + my ( $Type, %Param ) = @_; | ||
9 | + | ||
10 | + # allocate new hash for object | ||
11 | + my $Self = {%Param}; | ||
12 | + bless ($Self, $Type); | ||
13 | + | ||
14 | + # check needed objects | ||
15 | + for (qw(ParamObject DBObject LayoutObject LogObject ConfigObject EncodeObject MainObject)) { | ||
16 | + if ( !$Self->{$_} ) { | ||
17 | + $Self->{LayoutObject}->FatalError( Message => "Got no $_!" ); | ||
18 | + } | ||
19 | + } | ||
20 | + return $Self; | ||
21 | +} | ||
22 | + | ||
23 | +sub Run { | ||
24 | + my ( $Self, %Param ) = @_; | ||
25 | + my %Data = (); | ||
26 | + | ||
27 | + my $Tag = $Self->{ParamObject}->GetParam( Param => 'id' ); | ||
28 | + if(!$Tag){ | ||
29 | + $Self->{LayoutObject}->FatalError( Message => "Especifique a tag" ); | ||
30 | + } | ||
31 | + | ||
32 | + my $Id = $Self->_GetCategoryID(tag => "$Tag"); | ||
33 | + if(!$Id){ | ||
34 | + $Self->{LayoutObject}->FatalError( Message => "A tag $Tag n\x{e3}o existe!" ); | ||
35 | + } | ||
36 | + | ||
37 | + return $Self->{LayoutObject}->Redirect( ExtURL => 'public.pl?Action=PublicFAQExplorer;CategoryID='.$Id, ); | ||
38 | + | ||
39 | +} | ||
40 | + | ||
41 | +sub _GetCategoryID { | ||
42 | + | ||
43 | + my ( $Self, %Param ) = @_; | ||
44 | + | ||
45 | + | ||
46 | + $Self->{DBObject}->Prepare( | ||
47 | + SQL => "select category_id from faq_tag where tag = '$Param{tag}'", | ||
48 | + ); | ||
49 | + my $ID; | ||
50 | + while (my @Row = $Self->{DBObject}->FetchrowArray()) { | ||
51 | + $ID = $Row[0]; | ||
52 | + } | ||
53 | + return $ID; | ||
54 | +} | ||
55 | +1; |
1 | +++ a/Kernel/Modules/RedirectFAQ.pm | ||
@@ -0,0 +1,56 @@ | @@ -0,0 +1,56 @@ | ||
1 | + | ||
2 | +package Kernel::Modules::RedirectFAQ; | ||
3 | + | ||
4 | +use strict; | ||
5 | +use warnings; | ||
6 | + | ||
7 | +sub new { | ||
8 | + my ( $Type, %Param ) = @_; | ||
9 | + | ||
10 | + # allocate new hash for object | ||
11 | + my $Self = {%Param}; | ||
12 | + bless ($Self, $Type); | ||
13 | + | ||
14 | + # check needed objects | ||
15 | + for (qw(ParamObject DBObject TicketObject LayoutObject LogObject QueueObject ConfigObject EncodeObject MainObject)) { | ||
16 | + if ( !$Self->{$_} ) { | ||
17 | + $Self->{LayoutObject}->FatalError( Message => "Got no $_!" ); | ||
18 | + } | ||
19 | + } | ||
20 | + return $Self; | ||
21 | +} | ||
22 | + | ||
23 | +sub Run { | ||
24 | + my ( $Self, %Param ) = @_; | ||
25 | + my %Data = (); | ||
26 | + | ||
27 | + my $Tag = $Self->{ParamObject}->GetParam( Param => 'id' ); | ||
28 | + if(!$Tag){ | ||
29 | + $Self->{LayoutObject}->FatalError( Message => "Especifique a tag" ); | ||
30 | + } | ||
31 | + | ||
32 | + my $Id = $Self->_GetCategoryID(tag => "$Tag"); | ||
33 | + if(!$Id){ | ||
34 | + $Self->{LayoutObject}->FatalError( Message => "A tag $Tag n\x{e3}o existe!" ); | ||
35 | + } | ||
36 | + | ||
37 | + return $Self->{LayoutObject}->Redirect( OP => 'Action=AgentFAQExplorer;CategoryID='.$Id, ); | ||
38 | + | ||
39 | +} | ||
40 | + | ||
41 | +sub _GetCategoryID { | ||
42 | + | ||
43 | + my ( $Self, %Param ) = @_; | ||
44 | + | ||
45 | + | ||
46 | + $Self->{DBObject}->Prepare( | ||
47 | + SQL => "select category_id from faq_tag where tag = '$Param{tag}'", | ||
48 | + ); | ||
49 | + my $ID; | ||
50 | + while (my @Row = $Self->{DBObject}->FetchrowArray()) { | ||
51 | + $ID = $Row[0]; | ||
52 | + } | ||
53 | + return $ID; | ||
54 | + | ||
55 | +} | ||
56 | +1; |
1 | +++ a/Kernel/Output/HTML/Standard/AgentFAQTagAdd.dtl | ||
@@ -0,0 +1,74 @@ | @@ -0,0 +1,74 @@ | ||
1 | +<style type="text/css"> | ||
2 | + fieldset { | ||
3 | + background: none; | ||
4 | + border: none; | ||
5 | + } | ||
6 | +</style> | ||
7 | + | ||
8 | +<script type="text/javascript" src="formatar_moeda.js"></script> | ||
9 | +<div class="Content"> | ||
10 | +<!-- dtl:block:info --> | ||
11 | + <form name="input" action="$Env{"CGIHandle"}" method="post" onSubmit="return valida_dados(this)"> | ||
12 | + <input type="hidden" name="Action" value="$Env{"Action"}" /> | ||
13 | + <input type="hidden" name="Subaction" value="update" /> | ||
14 | + <div class="MainBox ARIARoleMain LayoutFixedSidebar SidebarFirst"> | ||
15 | + <h1>$Text{"Gerenciamento de Materiais"}</h1> | ||
16 | + <div class="SidebarColumn"> | ||
17 | + <div class="WidgetSimple"> | ||
18 | + <div class="Header"> | ||
19 | + <h2>$Text{"Actions"}</h2> | ||
20 | + </div> | ||
21 | + <div class="Content"> | ||
22 | + <ul class="ActionList"> | ||
23 | + <li> | ||
24 | + <a href="$Env{"Baselink"}Action=AgentFAQTagOverview" class="CallForAction"><span>$Text{"Go to overview"}</span></a> | ||
25 | + </li> | ||
26 | + </ul> | ||
27 | + </div> | ||
28 | + </div> | ||
29 | + </div> | ||
30 | + <div class="ContentColumn"> | ||
31 | + <div class="WidgetSimple"> | ||
32 | + <div class="Header"> | ||
33 | + | ||
34 | + <h2>Editar Tag: $QData{"category"}</h2> | ||
35 | + </div> | ||
36 | + <div class="Content SpacingBottom"> | ||
37 | + <fieldset class="TableLike"> | ||
38 | +<!-- start form --> | ||
39 | + <label class="Mandatory" for="tag" ><span class="Marker">*</span> Tag:</label> | ||
40 | + <div class="Field"> | ||
41 | + <input type="hidden" id="category" name="category" value="$QData{"category"}"> | ||
42 | + <input type="hidden" id="id" name="id" value="$QData{"id"}"> | ||
43 | + <input type="text" id="tag" name="tag" class="W50pc Validate_Required " length="15" value="$QData{"tag"}"> | ||
44 | + </div> | ||
45 | + <div class="Clear"></div> | ||
46 | + <div class="Field SpacingTop"> | ||
47 | + <button class="Primary" type="submit" id="cadastrar" value="Cadastrar">$Text{"Submit"}</button> | ||
48 | + $Text{"or"} | ||
49 | + <a href="/otrs/index.pl?Action=AgentFAQTagOverview">Cancelar</a> | ||
50 | + </div> | ||
51 | + <div class="Clear"></div> | ||
52 | +<!-- dtl:block:info --> | ||
53 | + </fieldset> | ||
54 | + </div> | ||
55 | + </div> | ||
56 | + </div> | ||
57 | + </div> | ||
58 | +<!-- end form --> | ||
59 | + </form> | ||
60 | +</div> | ||
61 | + | ||
62 | +<script language="javascript"> | ||
63 | +// Torna os campos obrigatórios | ||
64 | +function valida_dados (nomeform) { | ||
65 | + if (nomeform.tag.value=="") { | ||
66 | + alert ("Por favor digite o nome para a tag."); | ||
67 | + return false; | ||
68 | + } else { | ||
69 | + return true; | ||
70 | + } | ||
71 | +} | ||
72 | + | ||
73 | +</script> | ||
74 | + |
1 | +++ a/Kernel/Output/HTML/Standard/AgentFAQTagOverview.dtl | ||
@@ -0,0 +1,56 @@ | @@ -0,0 +1,56 @@ | ||
1 | + | ||
2 | +<div class="MainBox ARIARoleMain LayoutFixedSidebar SidebarFirst"> | ||
3 | + <h1>$Text{"Gerenciamento de Tags"}</h1> | ||
4 | + <div class="SidebarColumn"> | ||
5 | + <div class="WidgetSimple"> | ||
6 | + <div class="Header"> | ||
7 | + <h2>$Text{"Hint"}</h2> | ||
8 | + </div> | ||
9 | + <div class="Content"> | ||
10 | + <p class="FieldExplanation">Tabela de todas as categorias da FAQ com suas respectivas tags.</p> | ||
11 | + <p class="FieldExplanation">Adicione uma tag para gerar um endereço mais simples a determinada categoria.</p> | ||
12 | + </div> | ||
13 | + </div> | ||
14 | + </div> | ||
15 | + <div class="ContentColumn"> | ||
16 | + <div class="WidgetSimple"> | ||
17 | + <div class="Header"> | ||
18 | + <h2>Lista</h2> | ||
19 | + </div> | ||
20 | + <div class="Content SpacingBottom"> | ||
21 | + <table class="DataTable SpacingTop"> | ||
22 | + <thead> | ||
23 | + <tr> | ||
24 | + <th>Categoria</th> | ||
25 | + <th>Tag</th> | ||
26 | + <th>Excluir</th> | ||
27 | + </tr> | ||
28 | + </thead> | ||
29 | + <tbody> | ||
30 | +<!-- dtl:block:dadostabela --> | ||
31 | + <tr class="MasterAction" id="$QData{"id"}"> | ||
32 | + <td><a class="AsBlock" href="$Env{"Baselink"}Action=AgentFAQTagAdd&id=$QData{"id"}&category=$QData{"category"}&tag=$QData{"tag"}"</a>$QData{"category"}</td> | ||
33 | + <td>$QData{"tag"}</td> | ||
34 | + <td> | ||
35 | + <option><center><a class="TrashCan" onClick="remover('$QData{"category"}', $QData{"id"}, '$QData{"tag"}')"></a></center></option> | ||
36 | + </td> | ||
37 | + </tr> | ||
38 | +<!-- dtl:block:dadostabela --> | ||
39 | + </tbody> | ||
40 | + </table> | ||
41 | + </div> | ||
42 | + </div> | ||
43 | + </div> | ||
44 | +</div> | ||
45 | + | ||
46 | +<script type="text/javascript" charset="utf-8">//<![CDATA[ | ||
47 | +function remover(category, id, tag){ | ||
48 | + var confirma = confirm("Tem certeza de que deseja remover a tag "+ tag +" da categoria " + category +"?"); | ||
49 | + if(confirma ==true){ | ||
50 | + window.location.href="index.pl?Action=AgentFAQTagOverview&Subaction=delete&id="+id; | ||
51 | + }else{ | ||
52 | + } | ||
53 | + | ||
54 | +} | ||
55 | + | ||
56 | +</script> |
1 | +++ a/README |