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

Annotation of /trunk/share/web/templates/sql

Parent Directory Parent Directory | Revision Log Revision Log


Revision 45 - (hide annotations)
Sun Jan 21 12:19:58 2007 UTC (17 years, 3 months ago) by dpavlin
File size: 2128 byte(s)
remove edit mode from configuration and create role method within
currentuser for verification (hard-coded for now)
1 dpavlin 9 <%args>
2     $sth => undef
3 dpavlin 20
4 dpavlin 21 $sql_query => undef
5     $name => undef
6     $database => undef
7 dpavlin 20
8 dpavlin 26 $max_rows => 100
9    
10 dpavlin 9 </%args>
11     <%init>
12    
13 dpavlin 27 my $execute_sql = Jifty->web->new_action(
14 dpavlin 9 class => 'DoSQL',
15     moniker => 'execute_sql',
16     );
17    
18     my $result = Jifty->web->response->result('execute_sql');
19     $sth = $result->content('sth') if $result and !defined $sth;
20    
21 dpavlin 45 my $edit = Jifty->web->current_user->role('edit');
22 dpavlin 29 warn $edit ? 'edit mode for SQL' : 'student mode';
23    
24 dpavlin 9 </%init>
25    
26     <&| /_elements/wrapper, title => "Try out SQL query" &>
27     <% Jifty->web->form->start() %>
28 dpavlin 27 <% $execute_sql->form_field('sql_query',
29 dpavlin 20 default_value => $sql_query,
30 dpavlin 29 cols => 80,
31 dpavlin 34 rows => 12,
32 dpavlin 20 ) %>
33 dpavlin 29 % if ( $edit ) {
34     <% $execute_sql->form_field('database', default_value => $database ) %>
35     % } else {
36    
37     <!-- hidden database -->
38     <% $execute_sql->hidden('database', $database ) %>
39    
40     % }
41 dpavlin 20 <div class="submit_button">
42 dpavlin 27 <% $execute_sql->button( label => 'Try it!' ) %>
43 dpavlin 9
44 dpavlin 21
45 dpavlin 10 % if ( defined($sth) ) {
46    
47 dpavlin 29 % if ( $edit ) {
48    
49 dpavlin 27 % warn "save SQL: ", $execute_sql->argument_value('sql_query');
50    
51 dpavlin 21 <% Jifty->web->link(
52     label => 'Save',
53     onclick => {
54     region => 'save_query',
55 dpavlin 23 replace_with => '/save',
56 dpavlin 21 args => {
57 dpavlin 27 sql_query => $execute_sql->argument_value('sql_query'),
58     database => $execute_sql->argument_value('database'),
59 dpavlin 21 },
60     refresh_self => 1,
61     toggle => 1,
62     },
63 dpavlin 23 as_button => 1,
64 dpavlin 21 ) %>
65 dpavlin 20
66 dpavlin 29 </div><!-- submit_button edit -->
67 dpavlin 20
68 dpavlin 21 <% Jifty->web->region(
69     name => 'save_query',
70     ) %>
71    
72 dpavlin 29 % } else {
73 dpavlin 20
74 dpavlin 29 </div><!-- submit_button no edit -->
75    
76     % }
77    
78     <% Jifty->web->form->end() %>
79    
80 dpavlin 9 <table cellpadding="3" cellspacing="0" border="1">
81    
82     <tr>
83     % foreach my $col ( @{ $sth->{'NAME'} } ) {
84     <th><% $col %></th>
85     % }
86     </tr>
87    
88 dpavlin 26 % my $rows = 0;
89 dpavlin 9 % while ( my @row = $sth->fetchrow_array() ) {
90 dpavlin 26 % last if (++$rows > $max_rows);
91 dpavlin 9 <tr>
92     % foreach my $v ( @row ) {
93 dpavlin 12 <td><% defined($v) ? $v : 'NULL' %></td>
94 dpavlin 9 % }
95     </tr>
96     % }
97    
98     </table>
99 dpavlin 10
100 dpavlin 26 % if ($sth->rows > $max_rows) {
101     <div class="note">
102     Query produced more than <% $max_rows %> rows, try adding <tt>LIMIT</tt> and
103     <tt>OFFSET</tt> to see another part of results.
104     </div>
105     % }
106    
107 dpavlin 21 % } else {
108    
109 dpavlin 29 </div><!-- submit_button no query -->
110 dpavlin 21 <% Jifty->web->form->end() %>
111    
112 dpavlin 20 % }
113 dpavlin 14
114 dpavlin 20 <% Jifty->web->return( label => "Go back" ) %>
115 dpavlin 14
116     </&>
117    

  ViewVC Help
Powered by ViewVC 1.1.26