41 |
|
|
42 |
$c->stash->{template_filename} = $template_filename; |
$c->stash->{template_filename} = $template_filename; |
43 |
|
|
44 |
|
# get databases from config |
45 |
|
my @databases; |
46 |
|
my $config_dbs = $c->config->{databases}; |
47 |
|
|
48 |
|
if (! $config_dbs) { |
49 |
|
$c->log->fail("didn't find databases in config"); |
50 |
|
} else { |
51 |
|
# convert to resonable format for TT |
52 |
|
foreach my $db (keys %{ $config_dbs }) { |
53 |
|
my $d = $config_dbs->{$db} || die; |
54 |
|
my $inputs = $d->{input} || next; |
55 |
|
$inputs = [ $inputs ] if (ref($inputs) ne 'ARRAY'); |
56 |
|
|
57 |
|
foreach my $i ( @{ $inputs } ) { |
58 |
|
my $el = { |
59 |
|
input => $i->{name}, |
60 |
|
name => $d->{name} || $d, |
61 |
|
prefix => $db . '/' . $i->{name}, |
62 |
|
}; |
63 |
|
push @databases, $el; |
64 |
|
} |
65 |
|
} |
66 |
|
} |
67 |
|
|
68 |
|
$c->stash->{databases} = \@databases; |
69 |
|
|
70 |
$c->stash->{template} = 'editor.tt'; |
$c->stash->{template} = 'editor.tt'; |
71 |
} |
} |
72 |
|
|
101 |
if ($webpac->save_html( $template_full_path, $t )) { |
if ($webpac->save_html( $template_full_path, $t )) { |
102 |
$c->res->output("<span>saved $template_filename, $size bytes</span>"); |
$c->res->output("<span>saved $template_filename, $size bytes</span>"); |
103 |
} else { |
} else { |
104 |
$c->res->output("<span>error saving $template_filename!</span>"); |
$c->res->output("<span class=\"error\">error saving $template_filename!</span>"); |
105 |
} |
} |
106 |
return; |
return; |
107 |
} |
} |
157 |
if ($webpac->save_html( $css_full_path, $t )) { |
if ($webpac->save_html( $css_full_path, $t )) { |
158 |
$c->res->output("<span>saved $css_filename, $size bytes</span>"); |
$c->res->output("<span>saved $css_filename, $size bytes</span>"); |
159 |
} else { |
} else { |
160 |
$c->res->output("<span>error saving $css_filename!</span>"); |
$c->res->output("<span class=\"error\">error saving $css_filename!</span>"); |
161 |
} |
} |
162 |
return; |
return; |
163 |
} |
} |
182 |
|
|
183 |
$c->log->debug('record params '.Dumper($c->req->params)); |
$c->log->debug('record params '.Dumper($c->req->params)); |
184 |
|
|
185 |
my $mfn = $c->req->params->{mfn}; |
my $record_uri = $c->req->params->{record_uri}; |
186 |
|
$record_uri ||= $c->config->{editor}->{default_record_uri} and |
187 |
if (! $mfn) { |
$c->log->warn("using editor: default_record_uri"); |
188 |
$c->log->warn("no mfn, using 1"); |
|
189 |
$mfn = 1; |
if (! $record_uri) { |
190 |
|
$c->log->fatal("record called without record_uri and default_record_uri not found in config under editor"); |
191 |
|
$c->stash->{error} = 'record retrival failed'; |
192 |
|
$c->stash->{template} = 'error.tt'; |
193 |
|
return; |
194 |
} |
} |
195 |
|
|
196 |
my $template_filename = $c->req->params->{template_filename}; |
my $template_filename = $c->req->params->{template_filename}; |
201 |
|
|
202 |
my $webpac = $c->comp('Model::WebPAC'); |
my $webpac = $c->comp('Model::WebPAC'); |
203 |
|
|
204 |
my $html = $webpac->record( mfn => $mfn, template => $template_filename ); |
my $html = $webpac->record( record_uri => $record_uri, template => $template_filename ); |
205 |
|
|
206 |
if ($html) { |
if ($html) { |
207 |
$c->log->debug('check html with tidy'); |
$c->log->debug('check html with tidy'); |
243 |
} else { |
} else { |
244 |
$html .= qq{<div class="tidy tidy_error">Can't parse this record with HTML Tidy!</div>}; |
$html .= qq{<div class="tidy tidy_error">Can't parse this record with HTML Tidy!</div>}; |
245 |
} |
} |
246 |
|
} else { |
247 |
|
$html .= qq{<div class="no_results">Can't find record</div>}; |
248 |
} |
} |
249 |
|
|
|
|
|
250 |
$c->response->content_type('text/html; charset=utf-8'); |
$c->response->content_type('text/html; charset=utf-8'); |
251 |
$c->res->output( $html ); |
$c->response->body( $html ); |
252 |
} |
} |
253 |
|
|
254 |
|
|