/[A3C]/lib/A3C/View/Strix.pm
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 /lib/A3C/View/Strix.pm

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

revision 157 by dpavlin, Sun Jun 15 10:51:57 2008 UTC revision 166 by dpavlin, Sun Jun 15 22:26:07 2008 UTC
# Line 28  template 'index.html' => page { Line 28  template 'index.html' => page {
28    
29          title is _('Strix sites');          title is _('Strix sites');
30    
31            my $orgs = A3C::Model::StrixSiteCollection->new;
32            $orgs->unlimit;
33    
34            div { _('Number of sites in Strix: %1', $orgs->count ) };
35    
36          render_region(          render_region(
37                  name => 'user-selected-sites',                  name => 'selected-sites',
38                  path => '/strix/selected-sites'                  path => '/strix/selected-sites'
39          );          );
40    
41          render_region(          render_region(
42                  name => 'search_sites',                  name => 'search-sites',
43                  path => '/strix/search_sites',                  path => '/strix/search-sites',
44          );          );
45    
         h1 { _('Statistics') }  
   
         my $orgs = A3C::Model::StrixSiteCollection->new;  
         $orgs->unlimit;  
   
         dt { _('Number of Strix sites') }  
         dd { $orgs->count }  
   
46  };  };
47    
48  =head2 name_diff  =head2 name_diff
# Line 54  template 'index.html' => page { Line 51  template 'index.html' => page {
51    
52  template 'name_diff' => page {  template 'name_diff' => page {
53    
54          title is _('Strix sites | name differences between php config and internal state');          title is _('Strix name differences');
55    
56          my $name_diff = A3C::SQL->new({ query => qq{          my $name_diff = A3C::SQL->new({ query => qq{
57                  select                  select
# Line 65  template 'name_diff' => page { Line 62  template 'name_diff' => page {
62                  where o != _site_name                  where o != _site_name
63          }});          }});
64    
65          h1 { _('Name differences') }          if ( $name_diff->count > 0 ) {
66          dd {  
67                  table {                  table {
68                          row {                          row {
69                                  th { _('Site') }                                  th { _('Site') }
# Line 81  template 'name_diff' => page { Line 78  template 'name_diff' => page {
78                                  }                                  }
79                          }                          }
80                  }                  }
81            
82            } else {
83                    div { _("Can't find any site in strix which has different name than data from LDAP") }
84          }          }
85    
86  };  };
87    
88    =head2 sql
89    
90    Execute SQL query on site
91    
92    =cut
93    
94    template 'sql' => page {
95    
96            title is _('Execute SQL');
97    
98            render_region(
99                    name => 'selected-sites',
100                    path => '/strix/selected-sites'
101            );
102    
103            render_region(
104                    name => 'execute-sql',
105                    path => '/strix/execute-sql',
106            );
107    
108    };
109    
110  =head1 REGIONS  =head1 REGIONS
111    
112  =head2 search_sites  =head2 execute-sql
113    
114    Execute SQL query on site
115    
116    =cut
117    
118    template 'execute-sql' => sub {
119    
120            my $action = new_action(
121                    class   => 'StrixSQL',
122                    moniker => 'strix-sql',
123                    sticky_on_success => 1,
124                    sticky_on_failure => 1,
125                    arguments => {
126                            strix => get('strix')
127                    }
128            );
129    
130            form {
131                    render_action( $action => [ 'strix', 'sql' ] );
132                    form_submit( label => _('Execute SQL') );
133            };
134    
135            if ( my $sql = $action->result->content('sql') ) {
136                    div { _('Found %1 results', $sql->count ) }
137                    table {
138                            row { map { th { $_ } } $sql->_column_names };
139                            while (my $row = $sql->next) {
140                                    row {
141                                            foreach my $col ( $sql->_column_names ) {
142                                                    cell { $row->$col }
143                                            }
144                                    }
145                            }
146                    }
147            }
148    };
149    
150    =head2 search-sites
151    
152  =cut  =cut
153    
154  template 'search_sites' => sub {  template 'search-sites' => sub {
155    
156          h1 { _('Find site') }          h1 { _('Find site') }
157    
# Line 117  template 'search_sites' => sub { Line 177  template 'search_sites' => sub {
177                                  row {                                  row {
178                                          cell { tt { $strix->site } }                                          cell { tt { $strix->site } }
179                                          cell { $strix->_site_name }                                          cell { $strix->_site_name }
180                                          cell { show( 'site_selection', 'Create', '+', $strix->site ) }                                          cell { show( 'site-op', 'Create', '+', $strix->site ) }
181                                  }                                  }
182                          }                          }
183                  }                  }
# Line 125  template 'search_sites' => sub { Line 185  template 'search_sites' => sub {
185    
186  };  };
187    
188  =head2 selected_sites  =head2 selected-sites
189    
190  Show Selected sites for current user  Show Selected sites for current user
191    
# Line 177  template 'selected-sites' => sub { Line 237  template 'selected-sites' => sub {
237                                  row {                                  row {
238                                          cell { tt { $s->strix->site } }                                          cell { tt { $s->strix->site } }
239                                          cell { $s->strix->_site_name }                                          cell { $s->strix->_site_name }
240                                          cell { show( 'site_selection', 'Delete', '-', $s->strix->site ) }                                          cell { show( 'site-op', 'Delete', '-', $s->strix->site ) }
241                                  }                                  }
242                          }                          }
243                  }                  }
# Line 186  template 'selected-sites' => sub { Line 246  template 'selected-sites' => sub {
246          }          }
247  };  };
248    
249  =head2 site_selection  =head2 site-op
250    
251  Display button to add/remove site from selection  Display button to add/remove site from selection
252    
253    show( 'site_selection', 'Delete', '-', $strix->site );    show( 'site-op', 'Delete', '-', $strix->site );
254    
255  =cut  =cut
256    
257  template 'site_selection' => sub {  template 'site-op' => sub {
258          my $self = shift;          my $self = shift;
259    
260          warn "# site_selection = ",dump( @_ );          warn "# site-op = ",dump( @_ );
261    
262          my ( $op, $label, $site ) = @_;          my ( $op, $label, $site ) = @_;
263    
# Line 205  template 'site_selection' => sub { Line 265  template 'site_selection' => sub {
265                  hyperlink(                  hyperlink(
266                          label => $label,                          label => $label,
267                          onclick => {                          onclick => {
268                                  refresh => 'user-selected-sites',                                  refresh => 'selected-sites',
269                                  path => '/strix/selected-sites',                                  path => '/strix/selected-sites',
270                                  args => {                                  args => {
271                                          site => $site,                                          site => $site,

Legend:
Removed from v.157  
changed lines
  Added in v.166

  ViewVC Help
Powered by ViewVC 1.1.26