From 52a2dbebe522c0866e18f09a169d39a0cbd4d7b8 Mon Sep 17 00:00:00 2001 From: ivan Date: Sat, 27 Nov 2004 19:09:47 +0000 Subject: [PATCH] ticket system integration framework and skin RT --- ANNOUNCE.1.5.0 | 3 +- FS/FS.pm | 2 +- FS/FS/Conf.pm | 8 +++ FS/FS/TicketSystem/RT_External.pm | 6 ++ FS/FS/TicketSystem/RT_Internal.pm | 8 +++ FS/FS/TicketSystem/RT_Libs.pm | 8 +++ Makefile | 11 ++-- htetc/global.asa | 1 + htetc/handler.pl | 1 + httemplate/index.html | 113 +++++++++++++++++++++++++++-------- rt/FREESIDE_MODIFIED | 7 +++ rt/html/Elements/Footer | 2 + rt/html/Elements/Header | 34 +++++++++-- rt/html/Elements/PageLayout | 17 +++--- rt/html/Elements/SimpleSearch | 2 +- rt/html/Elements/Tabs | 7 ++- rt/html/NoAuth/images/small-logo.png | Bin 0 -> 4887 bytes rt/html/NoAuth/webrt.css | 69 +++++++++++++++++---- 18 files changed, 241 insertions(+), 58 deletions(-) create mode 100644 FS/FS/TicketSystem/RT_External.pm create mode 100644 FS/FS/TicketSystem/RT_Internal.pm create mode 100644 FS/FS/TicketSystem/RT_Libs.pm create mode 100644 rt/html/NoAuth/images/small-logo.png diff --git a/ANNOUNCE.1.5.0 b/ANNOUNCE.1.5.0 index 692ffbc02..b3c81a97a 100644 --- a/ANNOUNCE.1.5.0 +++ b/ANNOUNCE.1.5.0 @@ -23,4 +23,5 @@ - update install documentation for 1.5 HTML::Mason or Apache::ASP install # - historical late notice viewing in web interface - VoIP billing for CDRs from RADIUS -# - promotional codes for signup +- promotional codes for signup +- lots of RT integration diff --git a/FS/FS.pm b/FS/FS.pm index 797323f54..3bbd66fb6 100644 --- a/FS/FS.pm +++ b/FS/FS.pm @@ -3,7 +3,7 @@ package FS; use strict; use vars qw($VERSION); -$VERSION = '0.01'; +$VERSION = '%%%VERSION%%%'; #find missing entries in this file with: # for a in `ls *pm | cut -d. -f1`; do grep 'L' ../FS.pm >/dev/null || echo "missing $a" ; done diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index f15b485ed..ccad607ca 100644 --- a/FS/FS/Conf.pm +++ b/FS/FS/Conf.pm @@ -1320,6 +1320,14 @@ httemplate/docs/config.html 'select_enum' => [ 'generic', 'artera_turbo', ], }, + { + 'key' => 'ticket_system', + 'section' => '', + 'description' => 'Ticketing system integraiton. RT_Internal uses the built-in RT ticketing system (use make create-rt to create the necessary tables). RT_Libs uses the built-in RT libraries to access an RT installation in a separate database (local or remote). RT_External uses RT\'s XML interface and RTx::Atom to access an RT installation in a separate database (local or remote).', + 'type' => 'select', + 'select_enum' => [ '', qw(RT_Internal RT_Libs RT_External) ], + }, + ); 1; diff --git a/FS/FS/TicketSystem/RT_External.pm b/FS/FS/TicketSystem/RT_External.pm new file mode 100644 index 000000000..b74740ca7 --- /dev/null +++ b/FS/FS/TicketSystem/RT_External.pm @@ -0,0 +1,6 @@ +package FS::TicketSystem::RT_External; + +use strict; + +1; + diff --git a/FS/FS/TicketSystem/RT_Internal.pm b/FS/FS/TicketSystem/RT_Internal.pm new file mode 100644 index 000000000..a4ecd6a66 --- /dev/null +++ b/FS/FS/TicketSystem/RT_Internal.pm @@ -0,0 +1,8 @@ +package FS::TicketSystem::RT_Internal; + +use strict; + +@ISA = qw( FS::TicketSystem::RT_Libs ); + +1; + diff --git a/FS/FS/TicketSystem/RT_Libs.pm b/FS/FS/TicketSystem/RT_Libs.pm new file mode 100644 index 000000000..b71763237 --- /dev/null +++ b/FS/FS/TicketSystem/RT_Libs.pm @@ -0,0 +1,8 @@ +package FS::TicketSystem::RT_Libs.pm + +use strict; + +@ISA = qw( FS::TicketSystem::RT_External ); + +1; + diff --git a/Makefile b/Makefile index c3394779a..b23ee93ed 100644 --- a/Makefile +++ b/Makefile @@ -102,9 +102,6 @@ help: aspdocs: htmlman httemplate/* httemplate/*/* httemplate/*/*/* httemplate/*/*/*/* httemplate/*/*/*/*/* rm -rf aspdocs cp -pr httemplate aspdocs - perl -p -i -e "\ - s/%%%VERSION%%%/${VERSION}/g;\ - " aspdocs/index.html touch aspdocs @@ -114,9 +111,6 @@ masondocs: htmlman httemplate/* httemplate/*/* httemplate/*/*/* httemplate/*/*/* ( cd masondocs; \ ../bin/masonize; \ ) - perl -p -i -e "\ - s/%%%VERSION%%%/${VERSION}/g;\ - " masondocs/index.html touch masondocs alldocs: aspdocs masondocs @@ -163,7 +157,10 @@ install-docs: docs perl-modules: cd FS; \ [ -e Makefile ] || perl Makefile.PL; \ - make + make; \ + perl -p -i -e "\ + s/%%%VERSION%%%/${VERSION}/g;\ + " blib/lib/FS.pm install-perl-modules: perl-modules cd FS; \ diff --git a/htetc/global.asa b/htetc/global.asa index 146310d57..5cfcca6b4 100644 --- a/htetc/global.asa +++ b/htetc/global.asa @@ -23,6 +23,7 @@ use Business::CreditCard; use String::Approx qw(amatch); use Chart::LinesPoints; use HTML::Widgets::SelectLayers 0.03; +use FS; use FS::UID qw(cgisuidsetup dbh getotaker datasrc driver_name); use FS::Record qw(qsearch qsearchs fields dbdef); use FS::Conf; diff --git a/htetc/handler.pl b/htetc/handler.pl index 81c983692..a17aff10e 100644 --- a/htetc/handler.pl +++ b/htetc/handler.pl @@ -106,6 +106,7 @@ sub handler use String::Approx qw(amatch); use Chart::LinesPoints; use HTML::Widgets::SelectLayers 0.03; + use FS; use FS::UID qw(cgisuidsetup dbh getotaker datasrc driver_name); use FS::Record qw(qsearch qsearchs fields dbdef); use FS::Conf; diff --git a/httemplate/index.html b/httemplate/index.html index 5189df97e..6283c2217 100644 --- a/httemplate/index.html +++ b/httemplate/index.html @@ -1,3 +1,5 @@ + +<% my $conf = new FS::Conf; %> @@ -6,22 +8,57 @@ </HEAD> <BODY BGCOLOR="#FFFFFF"> <table width="100%"> - <tr><td> + <tr> + <td rowspan=2> <IMG BORDER=0 ALT="freeside" SRC="images/small-logo.png"> - </td><td valign="top"> - <font color="#7f007b" size=7></font> - </td><td align=right valign=bottom> - version %%%VERSION%%% - <BR><A HREF="http://www.sisd.com/freeside">Freeside home page</A> - <BR><A HREF="docs/">Documentation</A> - </td></tr> + </td> + <td align=left rowspan=2> <!-- valign="top" --> + <font size=7>Billing</font> + </td> + <td align=right valign=top>Logged in as <b><%= getotaker %></b> + </td> + </tr> + <tr> + <td align=right valign=bottom> + + <table> + <tr> + <td align=right> + <FONT SIZE="-2"> + Freeside <%= $FS::VERSION %><BR> + <A HREF="http://www.sisd.com/freeside">Freeside home page</A><BR> + <A HREF="docs/">Documentation</A><BR> + </FONT> + </td> + <% if ( $conf->config('ticket_system') eq 'RT_Internal' ) { %> + <% eval "use RT;"; %> + <td bgcolor=#000000></td> + <td align=left> + <FONT SIZE="-2"> + RT <%= $RT::VERSION %><BR> + <A HREF="http://www.bestpractical.com/rt">RT home page</A><BR> + <A HREF="http://wiki.bestpractical.com/">Documentation</A><BR> + </FONT> + </td> + <% } %> + + </tr> + </table> + + </td> + </tr> </table> -<BR> -[<A NAME="customer_service" style="background-color: #cccccc"> Sales / Customer service </A>] -[ <A HREF="#bookkeeping">Bookkeeping / Collections</A> ] -[ <A HREF="#reports">Reports</A> ] -[ <A HREF="#sysadmin">Sysadmin</A> ] + <BR> + + +[<A NAME="customer_service" style="background-color: #cccccc"> Sales / Customer service </A>] +<% if ( $conf->config('ticket_system') ) { %> + [ <A HREF="#ticketing">Support / Ticketing</A> ] +<% } %> +[ <A HREF="#bookkeeping">Bookkeeping / Collections</A> ] +[ <A HREF="#reports">Reports</A> ] +[ <A HREF="#sysadmin">Sysadmin</A> ] <TABLE CELLSPACING=2 CELLPADDING=0 BORDER=0" WIDTH="100%" BGCOLOR="#eeeeee"> <TR><TH BGCOLOR="#cccccc">Sales / Customer service</TH></TR> <TR><TD> @@ -42,15 +79,35 @@ </TD></TR> </TABLE> + <BR><BR><BR> +<% if ( $conf->config('ticket_system') ) { %> + +[ <A HREF="#customer_service">Sales / Customer service</A> ] +[<A NAME="ticketing" style="background-color: #cccccc"> Support / Ticketing </A>] +[ <A HREF="#bookkeeping">Bookkeeping / Collections</A> ] +[ <A HREF="#reports">Reports</A> ] +[ <A HREF="#sysadmin">Sysadmin</A> ] + <TABLE CELLSPACING=2 CELLPADDING=0 BORDER=0" WIDTH="100%" BGCOLOR="#eeeeee"> + <TR><TH BGCOLOR="#cccccc">Support/Ticketing</TH></TR> + <TR><TD> + <BR><FONT SIZE="+1"><A HREF="rt/">Ticketing Main</A></FONT> + <BR> + </TD></TR> + </TABLE> <BR><BR><BR> +<% } %> + -[ <A HREF="#customer_service">Sales / Customer service</A> ] -[<A NAME="bookkeeping" style="background-color: #cccccc"> Bookkeeping / Collections </A>] -[ <A HREF="#reports">Reports</A> ] -[ <A HREF="#sysadmin">Sysadmin</A> ] +[ <A HREF="#customer_service">Sales / Customer service</A> ] +<% if ( $conf->config('ticket_system') ) { %> + [ <A HREF="#ticketing">Support / Ticketing</A> ] +<% } %> +[<A NAME="bookkeeping" style="background-color: #cccccc"> Bookkeeping / Collections </A>] +[ <A HREF="#reports">Reports</A> ] +[ <A HREF="#sysadmin">Sysadmin</A> ] <TABLE CELLSPACING=2 CELLPADDING=0 BORDER=0 WIDTH="100%" BGCOLOR="#eeeeee"> <TR><TH BGCOLOR="#cccccc">Bookkeeping / Collections</TH></TR> <TR><TD> @@ -107,10 +164,13 @@ -[ <A HREF="#customer_service">Sales / Customer service</A> ] -[ <A HREF="#bookkeeping">Bookkeeping / Collections</A> ] -[<A NAME="reports" style="background-color: #cccccc"> Reports </A>] -[ <A HREF="#sysadmin">Sysadmin</A> ] +[ <A HREF="#customer_service">Sales / Customer service</A> ] +<% if ( $conf->config('ticket_system') ) { %> + [ <A HREF="#ticketing">Support / Ticketing</A> ] +<% } %> +[ <A HREF="#bookkeeping">Bookkeeping / Collections</A> ] +[<A NAME="reports" style="background-color: #cccccc"> Reports </A>] +[ <A HREF="#sysadmin">Sysadmin</A> ] <TABLE CELLSPACING=2 CELLPADDING=0 BORDER=0 WIDTH="100%" BGCOLOR="#eeeeee"> <TR><TH BGCOLOR="#cccccc">Reports</TH></TR> <TR><TD> @@ -147,10 +207,13 @@ <BR><BR><BR> -[ <A HREF="#customer_service">Sales / Customer service</A> ] -[ <A HREF="#bookkeeping">Bookkeeping / Collections</A> ] -[ <A HREF="#reports">Reports</A> ] -[<A NAME="sysadmin" style="background-color: #cccccc"> Sysadmin </A>] +[ <A HREF="#customer_service">Sales / Customer service</A> ] +<% if ( $conf->config('ticket_system') ) { %> + [ <A HREF="#ticketing">Support / Ticketing</A> ] +<% } %> +[ <A HREF="#bookkeeping">Bookkeeping / Collections</A> ] +[ <A HREF="#reports">Reports</A> ] +[<A NAME="sysadmin" style="background-color: #cccccc"> Sysadmin </A>] <TABLE CELLSPACING=2 CELLPADDING=0 BORDER=0 WIDTH="100%" BGCOLOR="#eeeeee"> <TR><TH BGCOLOR="#cccccc">Sysadmin</TH></TR> <TR><TD> diff --git a/rt/FREESIDE_MODIFIED b/rt/FREESIDE_MODIFIED index 3937c30fc..1f3f55c62 100644 --- a/rt/FREESIDE_MODIFIED +++ b/rt/FREESIDE_MODIFIED @@ -4,3 +4,10 @@ config.layout config.layout.in etc/RT_SiteConfig.pm lib/RT/URI/freeside.pm +html/Elements/Header +html/Elements/PageLayout +html/Elements/SimpleSearch +html/Elements/Tabs +html/Elements/Footer +html/NoAuth/images/small-logo.png +html/NoAuth/webrt.css diff --git a/rt/html/Elements/Footer b/rt/html/Elements/Footer index 5c833f886..052bf87e9 100644 --- a/rt/html/Elements/Footer +++ b/rt/html/Elements/Footer @@ -28,9 +28,11 @@ <td> % } <& /Elements/Callback, %ARGS &> +<!-- <div class="bpscredits"> »|« <&|/l, $RT::VERSION &>RT [_1] from <a href="http://bestpractical.com">Best Practical Solutions, LLC</a>.</&> </div> +--> % if ($Debug) { <HR> <b><&|/l&>Time to display</&>: <%Time::HiRes::tv_interval( $m->{'rt_base_time'} )%></b> diff --git a/rt/html/Elements/Header b/rt/html/Elements/Header index 23ab5f781..92c186bd5 100644 --- a/rt/html/Elements/Header +++ b/rt/html/Elements/Header @@ -42,10 +42,9 @@ ONLOAD=" > <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF"> <tr> - <td colspan=2><a href="http://bestpractical.com"><img src="<%$RT::WebImagesURL%>/bplogo.gif" alt="" width="230" height="50"></a></td> - <td> </td> - <td> </td> - <td width="50%" align="right"> + <td rowspan=2><img border=0 alt="freeside" src="<%$RT::WebImagesURL%>/small-logo.png" width="92" height="62"></td> + <td align="left" rowspan=2><font size=7>Ticketing</font></td> + <td align="right" valign="top"> % if ($session{'CurrentUser'} && $session{'CurrentUser'}->Id && $LoggedIn) { <SPAN STYLE="display: none"><A HREF="#skipnav"><&|/l&>Skip Menu</&></A> |</SPAN> <A HREF="<%$RT::WebPath%><% $Prefs %>" ><&|/l&>Preferences</&></A> @@ -59,6 +58,33 @@ ONLOAD=" <&|/l&>Not logged in.</&> % } </td> + + </tr> + <tr> + + <td align=right valign=bottom> + <table> + <tr> + <td align=right> + <FONT SIZE="-3"> + Freeside <% $FS::VERSION %><BR> + <A HREF="http://www.sisd.com/freeside">Freeside home page</A><BR> + <A HREF="docs/">Documentation</A><BR> + </FONT> + </td> + <td bgcolor=#000000></td> + <td align=left> + <FONT SIZE="-3"> + RT <% $RT::VERSION %><BR> + <A HREF="http://www.bestpractical.com/rt">RT home page</A><BR> + <A HREF="http://wiki.bestpractical.com/">Documentation</A><BR> + </FONT> + </td> + + </tr> + </table> + </td> + </tr> </table> <%INIT> diff --git a/rt/html/Elements/PageLayout b/rt/html/Elements/PageLayout index 685317581..86b6b565e 100644 --- a/rt/html/Elements/PageLayout +++ b/rt/html/Elements/PageLayout @@ -21,12 +21,12 @@ %# %# %# END LICENSE BLOCK -<table class="darkblue" border=0 cellspacing=0 cellpadding=0 width="100%"> - <th class="titlebox" align="left"><span class="rtname"><%$AppName%></span> +<table class="lightgray" border=0 cellspacing=0 cellpadding=0 width="100%"> + <th class="lightgray" align="left" width=50%><span class="rtname"><%$AppName%></span> </th> <span class="topactions"> % foreach my $action (sort keys %{$topactions}) { - <td class="darkblueright"> + <td class="lightgrayright"> <%$topactions->{"$action"}->{'html'} |n %> </td> % } @@ -35,18 +35,18 @@ <table border=0 cellspacing=0 cellpadding=0 width="100%" height="100%"> %# Vertical menu <TR height="100%"> -<TD valign="top" width="140" class="blue"> +<TD valign="top" width="140" class="lightgray"> <& /Elements/Menu, toptabs => $toptabs, current_toptab => $current_toptab &> </TD> <td valign="top"> <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"> <tr> - <td class="blue" valign="top"> + <td class="mediumgray" valign="top"> <span class="title"><%$title%></span> </td> </tr> <tr> -<td class="blueright" valign="top"> +<td class="whiteright" valign="top"> <span class="nav"> % if ($actions) { % my @actions; @@ -57,7 +57,8 @@ % push @actions, "<A class='nav' HREF=\"".$RT::WebPath."/".$actions->{$action}->{'path'}."\">".$actions->{$action}->{'title'}."</A>"; % } % } -<% join(" | ", @actions) | n %> +%#<% join(" | ", @actions) | n %> +<% '['. join("] [", @actions). ']' | n %> % if ($subactions) { % my @actions; % foreach my $action (sort keys %{$subactions}) { @@ -95,5 +96,5 @@ $tabs => undef $actions => undef $subactions => undef $title => $m->callers(-1)->path -$AppName => undef +$AppName => '' </%ARGS> diff --git a/rt/html/Elements/SimpleSearch b/rt/html/Elements/SimpleSearch index 4a0d10656..85f37403f 100644 --- a/rt/html/Elements/SimpleSearch +++ b/rt/html/Elements/SimpleSearch @@ -23,5 +23,5 @@ %# END LICENSE BLOCK <form action="<% $RT::WebPath %>/index.html"> <input size="12" name="q" autocomplete="off" accesskey="0"> -<input type="submit" value="<&|/l&>Search</&>">  +<input type="submit" value="<&|/l&>Search tickets</&>">  </form> diff --git a/rt/html/Elements/Tabs b/rt/html/Elements/Tabs index 4db3849c6..6791e5062 100644 --- a/rt/html/Elements/Tabs +++ b/rt/html/Elements/Tabs @@ -40,7 +40,12 @@ my $basetopactions = { B => { html => $m->scomp('/Elements/SimpleSearch') } }; -my $basetabs = { A => { title => loc('Homepage'), +my $basetabs = { + ' A'=> { title => 'Billing Main', + path => '..', + }, + A => { #title => loc('Homepage'), + title => 'Ticketing Main', path => '', }, B => { title => loc('Tickets'), diff --git a/rt/html/NoAuth/images/small-logo.png b/rt/html/NoAuth/images/small-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1e415e6d855d08db32c5d806c44ca9ca5812b314 GIT binary patch literal 4887 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 JPDHLkV1oSof|dXP literal 0 HcmV?d00001 diff --git a/rt/html/NoAuth/webrt.css b/rt/html/NoAuth/webrt.css index 159e79cd6..3e8e3f928 100644 --- a/rt/html/NoAuth/webrt.css +++ b/rt/html/NoAuth/webrt.css @@ -23,15 +23,18 @@ %# END LICENSE BLOCK SPAN.nav { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; - color: #FFFFFF; +%# color: #FFFFFF; + color: #000000; text-decoration: none; white-space: nowrap} .nav2 { font-size: 10px; white-space: nowrap} .nav { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; - font-weight: normal; - color: #FFFFFF; +%# font-weight: normal; + font-weight: bold; +%# color: #FFFFFF; + color: #000000; text-decoration: none; white-space: nowrap} .currentnav { font-family: Verdana, Arial, Helvetica, sans-serif; @@ -43,13 +46,15 @@ SPAN.nav { font-family: Verdana, Arial, Helvetica, sans-serif; .topnav { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 16px; font-weight: normal; - color: #FFFFFF; +%# color: #FFFFFF; + color: #000000; text-decoration: none; white-space: nowrap} .currenttopnav { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold; - color: #FFFF66; +%# color: #FFFF66; + color: #000000; background-color: #cccccc; text-decoration: none; white-space: nowrap} .topactions { font-family: Verdana, Arial, Helvetica, sans-serif; @@ -79,12 +84,16 @@ SPAN.nav { font-family: Verdana, Arial, Helvetica, sans-serif; vertical-align: top; text-align: left; } -.blue { background-color: #4682B4; +.blue { + background-color: #4682B4; +%# background-color: #eeeeee; background-position: left top; vertical-align: top; text-align: left; } -.blueright { background-color: #4682B4; +.blueright { + background-color: #4682B4; +%# background-color: #eeeeee; background-position: left top; vertical-align: top; text-align: right; @@ -94,12 +103,50 @@ SPAN.nav { font-family: Verdana, Arial, Helvetica, sans-serif; vertical-align: top; text-align: left; } -.darkblue { background-color: #000080; +.darkblue { + background-color: #000080; + background-position: left top; + vertical-align: top; + text-align: left; + } +.darkblueright { + background-color: #000080; + background-position: left top; + vertical-align: top; + text-align: right; + } +.lightgray { + background-color: #eeeeee; + background-position: left top; + vertical-align: top; + text-align: left; + } +.lightgrayright { + background-color: #eeeeee; + background-position: left top; + vertical-align: top; + text-align: right; + } +.mediumgray { + background-color: #cccccc; + background-position: left top; + vertical-align: top; + text-align: left; + } +.mediumgrayright { + background-color: #cccccc; + background-position: left top; + vertical-align: top; + text-align: right; + } +.white { + background-color: #ffffff; background-position: left top; vertical-align: top; text-align: left; } -.darkblueright { background-color: #000080; +.whiteright { + background-color: #ffffff; background-position: left top; vertical-align: top; text-align: right; @@ -266,7 +313,9 @@ SPAN.date { font-size: 0.8em } span.title { font-size: 1.6em; vertical-align: middle; - color: #ffffff;} +%# color: #ffffff; + color: #000000; + } span.productname { font-size: 2em; color: #0066cc;} SPAN.titleboxtitle { -- 2.11.0