/[SQLSession]/trunk/share/web/templates/fragments/queries
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/share/web/templates/fragments/queries

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 87 by dpavlin, Mon Feb 5 18:27:46 2007 UTC revision 96 by dpavlin, Mon Feb 5 22:13:07 2007 UTC
# Line 17  $queries->limit( column => 'on_database' Line 17  $queries->limit( column => 'on_database'
17  $queries->limit( column => 'created_on', operator => 'STARTSWITH', value => $created_on ) if ( $created_on );  $queries->limit( column => 'created_on', operator => 'STARTSWITH', value => $created_on ) if ( $created_on );
18  $queries->order_by( column => $order, order => 'asc' );  $queries->order_by( column => $order, order => 'asc' );
19    
20  warn $queries->build_select_query,$/;  #warn $queries->build_select_query,$/;
21    
22  warn "order: $order\n";  my $sort_label = {
23            name    => 'Query name',
24            created_on => 'Creation date',
25            owner => 'Creator',
26    };
27    
28    my $sort_menu = Jifty::Web::Menu->new( label => 'Sort by: ' . $sort_label->{$order} );
29    foreach my $c ( qw/name created_on owner/ ) {
30            #next if ($c eq $order);
31            $sort_menu->child( $c,
32                    active => $c eq $order,
33                    link => Jifty->web->link(
34                            label => $sort_label->{$c},
35                            onclick => {
36                                    replace_with => '/fragments/queries',
37                                    args => {
38                                            on_database => $on_database || '',
39                                            created_on => $created_on || '',
40                                            order => $c,
41                                    },
42                            },
43                    ),
44            );
45    }
46    
47    my $date_menu = Jifty::Web::Menu->new( label => 'Date filter' . ( $created_on ? ": $created_on" : '' ) );
48    $date_menu->child( 'clear',
49            link => Jifty->web->link(
50                    label => 'clear',
51                    onclick => {
52                            replace_with => '/fragments/queries',
53                            args => {
54                                    on_database => $on_database || '',
55                                    created_on => '',
56                                    order => $order,
57                            },
58                    },
59            ),
60    ) if ($created_on);
61    
62  </%init>  # select created_on,count(date(created_on)) from queries group by date(created_on) order by created_on;
63    my $date_coll = SQLSession::Model::QueryCollection->new( results_are_readable => 1 );
64    my $created_on_date = $date_coll->column( function => 'date(created_on)', column => 'date' );
65    my $count = $date_coll->column( function => 'count(date(created_on))', column => 'count' );
66    $date_coll->group_by( function => $created_on_date );
67    $date_coll->order_by( column => 'date', order => 'DESC' );
68    $date_coll->unlimit;
69    $date_coll->limit( column => 'on_database', value => $on_database ) if ( $on_database );
70    
71    #warn "## ", $date_coll->build_select_query;
72    
73    my $dates = 0;
74    
75    while (my $q = $date_coll->next) {
76            my $date = $q->{values}->{date} || die "no date?";
77            my $count = $q->{values}->{count} || die "no count?";
78            $date_menu->child( $date,
79                    active => $created_on && $created_on eq $date ? 1 : 0,
80                    link => Jifty->web->link(
81                            label => "$date ($count)",
82                            onclick => {
83                                    replace_with => '/fragments/queries',
84                                    args => {
85                                            on_database => $on_database || '',
86                                            created_on => $date,
87                                            order => $order,
88                                    },
89                            },
90                    ),
91            );
92    
93  Sort by:          $dates++;       # why is this different from $date_coll->count ?
94  % foreach my $c ( qw/name created_on owner/ ) {  }
 <% $order ne $c ? Jifty->web->link(  
         label => $c,  
         onclick => {  
                 replace_with => '/fragments/queries',  
                 args => {  
                         on_database => $on_database || '',  
                         created_on => $created_on || '',  
                         order => $c,  
                 },  
         },  
         #as_button => 1,  
 ) : $c %>  
 % }  
95    
96  % if ($created_on) {  </%init>
97  Filter:  
98  <% Jifty->web->link(  <div class="sort">
99          label => $created_on,  <% $sort_menu->render_as_context_menu %>
100          onclick => {  % if ( $dates > 0 ) {
101                  replace_with => '/fragments/queries',  <% $date_menu->render_as_context_menu %>
                 args => {  
                         on_database => $on_database || '',  
                         order => $order,  
                 },  
         },  
         #as_button => 1,  
 ) %>  
102  % }  % }
103    </div>
104    
105  <dl>  <dl style="clear: left;">
106    % $queries->goto_first_item;
107  % while (my $q = $queries->next) {  % while (my $q = $queries->next) {
108          <dt><% Jifty->web->tangent(          <dt><% Jifty->web->tangent(
109                  url => '/sql/' . $q->id,                  url => '/sql/' . $q->id,

Legend:
Removed from v.87  
changed lines
  Added in v.96

  ViewVC Help
Powered by ViewVC 1.1.26