[Rt-commit] rt branch, lcore, updated. fb60f953f6e1d816144a51a3eb71b4cacbf43df8
clkao at bestpractical.com
clkao at bestpractical.com
Thu Aug 27 01:25:34 EDT 2009
The branch, lcore has been updated
via fb60f953f6e1d816144a51a3eb71b4cacbf43df8 (commit)
via 83326c4e5f858636dbb8b9a77685f939cb494d63 (commit)
via af02277a75391b3c31c66de75895216bc5724a34 (commit)
via 67625ba00c611fc030d00b53dbfae8a7b47d74cb (commit)
via 5c532665d32ecd0effdae39c67fd0ddf0bf3bd25 (commit)
from 01d48241d085ec8040eef104f8ccb1dc55813eae (commit)
Summary of changes:
TODO | 109 +++++++++++++++++++++++++++
lib/RT/Collection.pm | 4 +-
lib/RT/Interface/Web.pm | 1 +
lib/RT/Report/Tickets.pm | 2 +
share/html/Search/Chart | 1 -
share/html/Search/Elements/Chart | 1 -
share/html/Search/Elements/ResultViews | 4 +-
share/html/Search/Elements/SelectGroupBy | 1 -
share/html/Ticket/Elements/ShowUpdateStatus | 6 +-
9 files changed, 117 insertions(+), 12 deletions(-)
- Log -----------------------------------------------------------------
commit 5c532665d32ecd0effdae39c67fd0ddf0bf3bd25
Author: Chia-liang Kao <clkao at clkao.org>
Date: Thu Aug 27 06:30:30 2009 +0800
todo by features.
diff --git a/TODO b/TODO
index 0a63ccc..a99b044 100644
--- a/TODO
+++ b/TODO
@@ -13,3 +13,113 @@ to the latter.
RT::load_config and other in RT package should be replaced with RT->load_config
+
+* create graphviz for templates/elements, orphan ones needs to be documented.
+* make richtext a jifty plugin (so we get automagic js/css squish)
+* remove old compat-* css
+* remove <|&/l, should just be <%_()%>
+ - share/html/Search/Elements/ResultViews:<&|/l, $m->scomp('SelectChartType', name
+ - share/html/Ticket/Elements/ShowUpdateStatus:<&|/l,
+
+* fresh db, create ticket with body asdf shows "<p> asdf</p>" in the ticket history right after create.
+* fresh db, create an unowned ticket, click unowned search from homepage, click chart by status, infinite loop.
+
+------------- todo by feature list
+I18N
+ - display of messages in utf8
+ - picking up user's loc preferences from browser or from db
+
+Database audit tool (integrity check)
+database Shredder
+
+Linking tickets to each other
+saved tix relationship graphs
+pluggable link schemes
+REST interface
+ * leave this for now, and see phase2 of ticket action for transition to jifty rest api
+
+Web interface
+ * ticket actions refactor:
+ * make create into a jifty action with dynamic params
+ * go through the %arg usage in ticket::create and make them into action params (should be only based on queue). good to make the cf logic separate so it might be reusable in the update action.
+ * note the update action will need add/delete/modify OCFV, where the create action will just use add.
+ * repeated argument (such as role) might need special handling as jifty action param
+ * make use of default jifty model update actions, for cfs, links, roles, use individual actions for now
+ * make sure all Ticket/Modify* renders action, basically all "push @results, process_*" in ModifyAll should be gone and the logic be run with actions.
+
+ * phase2: gradually enhance the grand ticket update action to include the other update functionality (and make that into the general $model->update() method) for each of cf/link/role CRUD of the ticket update. at this point the view layer should have minimum change (just the rendering $action, from old small related crud actions to the grand update action).
+ * the REST api for ticket update (REST/1.0/Forms/ticket/default) has some flattening for the update action. this can be a reference and eventually just have the update action serve the rest api via jifty rest plugin.
+
+Self service web interface
+
+Email interface
+ - Email input
+ - Email sending
+ privileged users can get mail batched on a schedule or immediately
+ - GPG email in
+ - GPG email out
+ * make jifty::notification hookable to support gpg/smime (or make it native to jifty::notification)
+
+Custom Fields
+ - external sources (forming list)
+ - pick/enter one/many
+ - autocomplete
+ - custom fields can apply to a set queues
+ - custom fields can apply to tix, txns, users, groups
+
+Groups of users
+ - recursive
+ - can contain other groups
+
+User, group and role based access control
+
+external authentication (LDAP, trust aache, etc)
+ * code was in autohandler, seems to be removed now, need to verify workiness
+
+search builder subsystem
+ - graphical query builder
+ - custom search result formats
+ - search -> ical
+ - search -> csv
+ - bulk ticket edit
+ - saved searches
+ - saved charts
+ * see if we can migrate the general ui flow to some component that uses tisql. low priority, leave this as-is as long as it works.
+
+overview:
+ - Custom homepage
+ - dashboards
+ - "all the stuff i've been working on today" MyDay.html
+
+per-user preferences of various sorts
+ - user-switchable themes
+ - user-selectable date-time formats
+
+date/time inputs (ajax?)
+ * migrate to rendering jifty action fields
+ * dates fields in ticket, anything else?
+
+scrips
+custom per-queue templates for scrips
+
+approvals
+
+full administrative UI
+ * make basic CRUD for admin/{queues,users,groups}/* use jifty actions/CRUD
+ * note there is CF for group as well, so we still need to leave the process_object_custom_field_updates as part of the form submit.
+ * investigate the effort to convert right editing system to native jifty.
+
+Database support
+ * mysql/pg/sqlite/oracle
+
+RT plugins
+ - override libs/ui
+ * some basic test to make sure this works
+ - callback systems (from mason)
+ * investigate what's used in core and decide if it should be deprecated and in favor of different hook mechanism
+-----
+investigate how complete the update() method for various models is:
+ - update_record_object calls $model->update
+ - process_custom_field_updates - this is for modifying CF and CFV, not OCFV
+ - process_object_custom_field_updates - for OCFV, can be used in grand ticket->update api in the future (like the current heavy-lifting create_ticket in interface::web and ticket::create).
+
commit 67625ba00c611fc030d00b53dbfae8a7b47d74cb
Author: Chia-liang Kao <clkao at clkao.org>
Date: Thu Aug 27 06:31:55 2009 +0800
don't really need rt::base as base for rt::collection.
diff --git a/TODO b/TODO
index a99b044..978dbd1 100644
--- a/TODO
+++ b/TODO
@@ -16,6 +16,7 @@ RT::load_config and other in RT package should be replaced with RT->load_config
* create graphviz for templates/elements, orphan ones needs to be documented.
* make richtext a jifty plugin (so we get automagic js/css squish)
+* remoe rt::base
* remove old compat-* css
* remove <|&/l, should just be <%_()%>
- share/html/Search/Elements/ResultViews:<&|/l, $m->scomp('SelectChartType', name
diff --git a/lib/RT/Collection.pm b/lib/RT/Collection.pm
index 20e9cab..697a463 100755
--- a/lib/RT/Collection.pm
+++ b/lib/RT/Collection.pm
@@ -64,12 +64,10 @@
package RT::Collection;
-use RT::Base;
-
use strict;
use warnings;
-use base qw/RT::Base Jifty::Collection/;
+use base qw/Jifty::Collection/;
sub _handle {
return Jifty->handle;
commit af02277a75391b3c31c66de75895216bc5724a34
Author: Chia-liang Kao <clkao at clkao.org>
Date: Thu Aug 27 06:33:03 2009 +0800
Make report::tickets actually load properly by specifying explicit
record_class.
diff --git a/lib/RT/Interface/Web.pm b/lib/RT/Interface/Web.pm
index 919ff48..c948e83 100755
--- a/lib/RT/Interface/Web.pm
+++ b/lib/RT/Interface/Web.pm
@@ -61,6 +61,7 @@ use strict;
use warnings;
package RT::Interface::Web;
+use RT::Report::Tickets;
use RT::System;
use RT::SavedSearches;
use URI qw();
diff --git a/lib/RT/Report/Tickets.pm b/lib/RT/Report/Tickets.pm
index c377e2d..77c6b4f 100644
--- a/lib/RT/Report/Tickets.pm
+++ b/lib/RT/Report/Tickets.pm
@@ -53,6 +53,8 @@ use RT::Report::Tickets::Entry;
use strict;
use warnings;
+sub record_class { 'RT::Report::Tickets::Entry' }
+
sub groupings {
my $self = shift;
my %args = (@_);
diff --git a/share/html/Search/Chart b/share/html/Search/Chart
index 7aa69f5..bac6c3c 100644
--- a/share/html/Search/Chart
+++ b/share/html/Search/Chart
@@ -66,7 +66,6 @@ if ($chart_style eq 'pie') {
$chart_class = "GD::Graph::bars";
}
-use RT::Report::Tickets;
my $tix = RT::Report::Tickets->new();
$tix->from_sql( $query );
my $count_name = $tix->column( FUNCTION => 'COUNT', column => 'id' );
diff --git a/share/html/Search/Elements/Chart b/share/html/Search/Elements/Chart
index e3423ac..ab756d0 100644
--- a/share/html/Search/Elements/Chart
+++ b/share/html/Search/Elements/Chart
@@ -52,7 +52,6 @@ $secondary_group_by => undef
$chart_style => 'bars'
</%args>
<%init>
-use RT::Report::Tickets;
my $tix = RT::Report::Tickets->new();
$tix->from_sql( $query );
my $count_name = $tix->column( function => 'COUNT', column => 'id' );
diff --git a/share/html/Search/Elements/SelectGroupBy b/share/html/Search/Elements/SelectGroupBy
index dd94640..8be47ae 100644
--- a/share/html/Search/Elements/SelectGroupBy
+++ b/share/html/Search/Elements/SelectGroupBy
@@ -57,7 +57,6 @@ $query => ''
% }
</select>
<%init>
-use RT::Report::Tickets;
my $report = RT::Report::Tickets->new();
my @options = $report->groupings( query => $query );
</%init>
commit 83326c4e5f858636dbb8b9a77685f939cb494d63
Author: Chia-liang Kao <clkao at clkao.org>
Date: Thu Aug 27 06:33:54 2009 +0800
convert non-trivial <&|/l> use cases to _().
diff --git a/TODO b/TODO
index 978dbd1..9b7951e 100644
--- a/TODO
+++ b/TODO
@@ -19,8 +19,6 @@ RT::load_config and other in RT package should be replaced with RT->load_config
* remoe rt::base
* remove old compat-* css
* remove <|&/l, should just be <%_()%>
- - share/html/Search/Elements/ResultViews:<&|/l, $m->scomp('SelectChartType', name
- - share/html/Ticket/Elements/ShowUpdateStatus:<&|/l,
* fresh db, create ticket with body asdf shows "<p> asdf</p>" in the ticket history right after create.
* fresh db, create an unowned ticket, click unowned search from homepage, click chart by status, infinite loop.
diff --git a/share/html/Search/Elements/ResultViews b/share/html/Search/Elements/ResultViews
index 75422ca..dcd4aa4 100644
--- a/share/html/Search/Elements/ResultViews
+++ b/share/html/Search/Elements/ResultViews
@@ -69,8 +69,8 @@ $short_query_string => undef
% foreach my $key (keys(%hiddens)) {
<input type="hidden" class="hidden" name="<%$key%>" value="<%defined($hiddens{$key})?$hiddens{$key}:''%>" />
% }
-<&|/l, $m->scomp('SelectChartType', name => 'chart_style'), $m->scomp('SelectGroupBy', name => 'primary_group_by', query => $query)
-&>%1 chart by %2</&><input type="submit" class="button" value="<%_('Go')%>" />
+<%_("%1 chart by %2", $m->scomp('SelectChartType', name => 'chart_style'), $m->scomp('SelectGroupBy', name => 'primary_group_by', query => $query))|n%>
+<input type="submit" class="button" value="<%_('Go')%>" />
</form>
<%init>
my $ical_path = join '/', map $m->interp->apply_escapes($_, 'u'),
diff --git a/share/html/Ticket/Elements/ShowUpdateStatus b/share/html/Ticket/Elements/ShowUpdateStatus
index c3db1af..20afadb 100644
--- a/share/html/Ticket/Elements/ShowUpdateStatus
+++ b/share/html/Ticket/Elements/ShowUpdateStatus
@@ -48,11 +48,9 @@
<div class="unread-messages">
<&| /Widgets/TitleBox, title => _('New messages'), title_href => "#txn-". $txn->id &>
<&|/l, &>There are unread messages on this ticket.</&>
-<&|/l,
+<%_('You can <a href="%1">jump to the first unread message</a> or <a href="%2">jump to the first unread message and mark all messages as seen</a>.',
RT->config->get('web_path') ."/Ticket/Display.html?id=". $ticket->id. "#txn-".$txn->id,
- RT->config->get('web_path') ."/Ticket/Display.html?id=". $ticket->id ."&mark_as_seen=1". "#txn-".$txn->id
-
- &>You can <a href="%1">jump to the first unread message</a> or <a href="%2">jump to the first unread message and mark all messages as seen</a>.</&>
+ RT->config->get('web_path') ."/Ticket/Display.html?id=". $ticket->id ."&mark_as_seen=1". "#txn-".$txn->id)|n%>
</&>
</div>
<%ARGS>
commit fb60f953f6e1d816144a51a3eb71b4cacbf43df8
Merge: 01d4824 83326c4
Author: Chia-liang Kao <clkao at clkao.org>
Date: Thu Aug 27 06:36:03 2009 +0800
Merge branch 'master' into lcore
-----------------------------------------------------------------------
More information about the Rt-commit
mailing list