/[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

Diff of /trunk/share/web/templates/sql

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

revision 23 by dpavlin, Mon Dec 4 15:15:54 2006 UTC revision 53 by dpavlin, Sun Jan 21 14:00:28 2007 UTC
# Line 5  $sql_query => undef Line 5  $sql_query => undef
5  $name => undef  $name => undef
6  $database => undef  $database => undef
7    
8    $max_rows => 100
9    
10  </%args>  </%args>
11  <%init>  <%init>
12    
13  my $action = Jifty->web->new_action(  my $execute_sql = Jifty->web->new_action(
14          class => 'DoSQL',          class => 'DoSQL',
15          moniker => 'execute_sql',          moniker => 'execute_sql',
16  );  );
# Line 16  my $action = Jifty->web->new_action( Line 18  my $action = Jifty->web->new_action(
18  my $result = Jifty->web->response->result('execute_sql');  my $result = Jifty->web->response->result('execute_sql');
19  $sth = $result->content('sth') if $result and !defined $sth;  $sth = $result->content('sth') if $result and !defined $sth;
20    
21    my $edit = Jifty->web->current_user->role('edit');
22    warn $edit ? 'edit mode for SQL' : 'student mode';
23    
24  </%init>  </%init>
25    
26  <&| /_elements/wrapper, title => "Try out SQL query" &>  <&| /_elements/wrapper, title => "Try out SQL query" &>
27  <% Jifty->web->form->start() %>  <% Jifty->web->form->start() %>
28  <% $action->form_field('sql_query',  <% $execute_sql->form_field('sql_query',
29          default_value => $sql_query,          default_value => $sql_query,
30            cols => 80,
31            rows => 12,
32  ) %>  ) %>
33  <% $action->form_field('database',  
34          default_value => $database,  <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    % if ( $edit ) {
45    <% $execute_sql->form_field('database', default_value => $database ) %>
46    % } else {
47    
48    <!-- hidden database -->
49    <% $execute_sql->hidden('database', $database ) %>
50    <% $execute_sql->form_value('database', default_value => $database ) %>
51    
52    % }
53    
54  <div class="submit_button">  <div class="submit_button">
55  <% $action->button( label => 'Try it!' ) %>  <% $execute_sql->button( label => 'Try it!' ) %>
56    
57    
58  % if ( defined($sth) ) {  % if ( defined($sth) ) {
59    
60    % if ( $edit ) {
61    
62    % warn "save SQL: ", $execute_sql->argument_value('sql_query');
63    
64  <% Jifty->web->link(  <% Jifty->web->link(
65          label => 'Save',          label => 'Save',
66          onclick => {          onclick => {
67                  region => 'save_query',                  region => 'save_query',
68                  replace_with => '/save',                  replace_with => '/save',
69                  args => {                  args => {
70                          sql_query => $action->argument_value('sql_query'),                          sql_query => $execute_sql->argument_value('sql_query'),
71                          database => $action->argument_value('database'),                          database => $execute_sql->argument_value('database'),
72                  },                  },
73                  refresh_self => 1,                  refresh_self => 1,
74                  toggle => 1,                  toggle => 1,
# Line 47  $sth = $result->content('sth') if $resul Line 76  $sth = $result->content('sth') if $resul
76          as_button => 1,          as_button => 1,
77  ) %>  ) %>
78    
79  </div>  </div><!-- submit_button edit -->
 <% Jifty->web->form->end() %>  
80    
81  <% Jifty->web->region(  <% Jifty->web->region(
82          name => 'save_query',          name => 'save_query',
83  ) %>  ) %>
84    
85  </div>  % } else {
86    
87    </div><!-- submit_button no edit -->
88    
89    % }
90    
91    <% Jifty->web->form->end() %>
92    
93  <table cellpadding="3" cellspacing="0" border="1">  <table cellpadding="3" cellspacing="0" border="1">
94    
# Line 64  $sth = $result->content('sth') if $resul Line 98  $sth = $result->content('sth') if $resul
98  % }  % }
99  </tr>  </tr>
100    
101    % my $rows = 0;
102  % while ( my @row = $sth->fetchrow_array() ) {  % while ( my @row = $sth->fetchrow_array() ) {
103    %       last if (++$rows > $max_rows);
104  <tr>  <tr>
105  %       foreach my $v ( @row ) {  %       foreach my $v ( @row ) {
106  <td><% defined($v) ? $v : 'NULL' %></td>  <td><% defined($v) ? $v : 'NULL' %></td>
# Line 74  $sth = $result->content('sth') if $resul Line 110  $sth = $result->content('sth') if $resul
110    
111  </table>  </table>
112    
113    % 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  % } else {  % } else {
121    
122  </div><!-- submit_button -->  </div><!-- submit_button no query -->
123  <% Jifty->web->form->end() %>  <% Jifty->web->form->end() %>
124    
125  % }  % }

Legend:
Removed from v.23  
changed lines
  Added in v.53

  ViewVC Help
Powered by ViewVC 1.1.26