/[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 53 - (hide annotations)
Sun Jan 21 14:00:28 2007 UTC (17 years, 4 months ago) by dpavlin
File size: 2471 byte(s)
schema links now open in new window, added schema link to sql edit form
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 53
34     <div class="database-schema">
35     <%perl>
36     my $db = SQLSession::Model::Database->new();
37     $db->load_by_cols( id => $database );
38     my $name = $db->dsn;
39     $name =~ s/^.*dbname=//;
40     $m->out("<a href=\"/static/spy/$name/index.html\" target=\"_spy\">$name shema</a>");
41     </%perl>
42     </div>
43    
44 dpavlin 29 % if ( $edit ) {
45     <% $execute_sql->form_field('database', default_value => $database ) %>
46     % } else {
47    
48     <!-- hidden database -->
49     <% $execute_sql->hidden('database', $database ) %>
50 dpavlin 52 <% $execute_sql->form_value('database', default_value => $database ) %>
51 dpavlin 29
52     % }
53 dpavlin 53
54 dpavlin 20 <div class="submit_button">
55 dpavlin 27 <% $execute_sql->button( label => 'Try it!' ) %>
56 dpavlin 9
57 dpavlin 21
58 dpavlin 10 % if ( defined($sth) ) {
59    
60 dpavlin 29 % if ( $edit ) {
61    
62 dpavlin 27 % warn "save SQL: ", $execute_sql->argument_value('sql_query');
63    
64 dpavlin 21 <% Jifty->web->link(
65     label => 'Save',
66     onclick => {
67     region => 'save_query',
68 dpavlin 23 replace_with => '/save',
69 dpavlin 21 args => {
70 dpavlin 27 sql_query => $execute_sql->argument_value('sql_query'),
71     database => $execute_sql->argument_value('database'),
72 dpavlin 21 },
73     refresh_self => 1,
74     toggle => 1,
75     },
76 dpavlin 23 as_button => 1,
77 dpavlin 21 ) %>
78 dpavlin 20
79 dpavlin 29 </div><!-- submit_button edit -->
80 dpavlin 20
81 dpavlin 21 <% Jifty->web->region(
82     name => 'save_query',
83     ) %>
84    
85 dpavlin 29 % } else {
86 dpavlin 20
87 dpavlin 29 </div><!-- submit_button no edit -->
88    
89     % }
90    
91     <% Jifty->web->form->end() %>
92    
93 dpavlin 9 <table cellpadding="3" cellspacing="0" border="1">
94    
95     <tr>
96     % foreach my $col ( @{ $sth->{'NAME'} } ) {
97     <th><% $col %></th>
98     % }
99     </tr>
100    
101 dpavlin 26 % my $rows = 0;
102 dpavlin 9 % while ( my @row = $sth->fetchrow_array() ) {
103 dpavlin 26 % last if (++$rows > $max_rows);
104 dpavlin 9 <tr>
105     % foreach my $v ( @row ) {
106 dpavlin 12 <td><% defined($v) ? $v : 'NULL' %></td>
107 dpavlin 9 % }
108     </tr>
109     % }
110    
111     </table>
112 dpavlin 10
113 dpavlin 26 % if ($sth->rows > $max_rows) {
114     <div class="note">
115     Query produced more than <% $max_rows %> rows, try adding <tt>LIMIT</tt> and
116     <tt>OFFSET</tt> to see another part of results.
117     </div>
118     % }
119    
120 dpavlin 21 % } else {
121    
122 dpavlin 29 </div><!-- submit_button no query -->
123 dpavlin 21 <% Jifty->web->form->end() %>
124    
125 dpavlin 20 % }
126 dpavlin 14
127 dpavlin 20 <% Jifty->web->return( label => "Go back" ) %>
128 dpavlin 14
129     </&>
130    

  ViewVC Help
Powered by ViewVC 1.1.26