Revision d41efcfe
Von Sven Schöling vor mehr als 8 Jahren hinzugefügt
SL/Controller/RequirementSpec.pm | ||
---|---|---|
7 | 7 |
|
8 | 8 |
use File::Spec (); |
9 | 9 |
|
10 |
use SL::ClientJS; |
|
11 | 10 |
use SL::Common (); |
12 | 11 |
use SL::Controller::Helper::GetModels; |
13 | 12 |
use SL::Controller::Helper::ReportGenerator; |
... | ... | |
29 | 28 |
use Rose::Object::MakeMethods::Generic |
30 | 29 |
( |
31 | 30 |
scalar => [ qw(requirement_spec_item visible_item visible_section) ], |
32 |
'scalar --get_set_init' => [ qw(requirement_spec customers types statuses complexities risks projects project_types project_statuses default_project_type default_project_status copy_source js
|
|
31 |
'scalar --get_set_init' => [ qw(requirement_spec customers types statuses complexities risks projects project_types project_statuses default_project_type default_project_status copy_source |
|
33 | 32 |
current_text_block_output_position models time_based_units html_template cvar_configs includeable_cvar_configs include_cvars) ], |
34 | 33 |
); |
35 | 34 |
|
... | ... | |
84 | 83 |
$self->js |
85 | 84 |
->hide('#basic_settings') |
86 | 85 |
->after('#basic_settings', $html) |
87 |
->render($self);
|
|
86 |
->render; |
|
88 | 87 |
} |
89 | 88 |
|
90 | 89 |
sub action_ajax_edit_project_link { |
... | ... | |
95 | 94 |
$self->js |
96 | 95 |
->hide('#basic_settings') |
97 | 96 |
->after('#basic_settings', $html) |
98 |
->render($self);
|
|
97 |
->render; |
|
99 | 98 |
} |
100 | 99 |
|
101 | 100 |
sub action_ajax_show_time_and_cost_estimate { |
... | ... | |
116 | 115 |
->after('#time_cost_estimate', $html) |
117 | 116 |
->on('#time_cost_estimate INPUT[type=text]', 'keydown', 'kivi.requirement_spec.time_cost_estimate_input_key_down') |
118 | 117 |
->action_if($first && $first->id, 'focus', '#time_and_cost_estimate_form_complexity_id_' . $first->id) |
119 |
->render($self);
|
|
118 |
->render; |
|
120 | 119 |
} |
121 | 120 |
|
122 | 121 |
sub action_ajax_save_time_and_cost_estimate { |
... | ... | |
140 | 139 |
my $html = $self->render('requirement_spec/_show_time_and_cost_estimate', { output => 0 }, initially_hidden => !!$::form->{keep_open}); |
141 | 140 |
$self->js->replaceWith('#time_cost_estimate', $html); |
142 | 141 |
|
143 |
return $self->js->render($self) if $::form->{keep_open};
|
|
142 |
return $self->js->render if $::form->{keep_open}; |
|
144 | 143 |
|
145 | 144 |
$self->js->remove('#time_cost_estimate_form_container'); |
146 | 145 |
|
... | ... | |
149 | 148 |
$self->js->html('#column-content', $html); |
150 | 149 |
} |
151 | 150 |
|
152 |
$self->js->render($self);
|
|
151 |
$self->js->render; |
|
153 | 152 |
} |
154 | 153 |
|
155 | 154 |
sub action_show { |
... | ... | |
200 | 199 |
sub action_revert_to { |
201 | 200 |
my ($self, %params) = @_; |
202 | 201 |
|
203 |
return $self->js->error(t8('Cannot revert a versioned copy.'))->render($self) if $self->requirement_spec->working_copy_id;
|
|
202 |
return $self->js->error(t8('Cannot revert a versioned copy.'))->render if $self->requirement_spec->working_copy_id; |
|
204 | 203 |
|
205 | 204 |
my $versioned_copy = SL::DB::RequirementSpec->new(id => $::form->{versioned_copy_id})->load; |
206 | 205 |
|
... | ... | |
209 | 208 |
$version->update_attributes(working_copy_id => $self->requirement_spec->id); |
210 | 209 |
|
211 | 210 |
flash_later('info', t8('The requirement spec has been reverted to version #1.', $versioned_copy->version->version_number)); |
212 |
$self->js->redirect_to($self->url_for(action => 'show', id => $self->requirement_spec->id))->render($self);
|
|
211 |
$self->js->redirect_to($self->url_for(action => 'show', id => $self->requirement_spec->id))->render; |
|
213 | 212 |
} |
214 | 213 |
|
215 | 214 |
sub action_create_pdf { |
... | ... | |
269 | 268 |
my $template = SL::DB::RequirementSpec->new(id => $::form->{template_id})->load; |
270 | 269 |
my %result = $self->requirement_spec->paste_template($template); |
271 | 270 |
|
272 |
return $self->js->error($self->requirement_spec->error)->render($self) if !%result;
|
|
271 |
return $self->js->error($self->requirement_spec->error)->render if !%result; |
|
273 | 272 |
|
274 | 273 |
$self->render_pasted_text_block($_) for sort { $a->position <=> $b->position } @{ $result{text_blocks} }; |
275 | 274 |
$self->render_pasted_section($_) for sort { $a->position <=> $b->position } @{ $result{sections} }; |
... | ... | |
284 | 283 |
->show( '#additional_parts_list_container') |
285 | 284 |
->remove( '#additional_parts_form_container'); |
286 | 285 |
|
287 |
$self->invalidate_version->render($self);
|
|
286 |
$self->invalidate_version->render; |
|
288 | 287 |
} |
289 | 288 |
|
290 | 289 |
sub action_renumber_sections { |
... | ... | |
329 | 328 |
return 1; |
330 | 329 |
} |
331 | 330 |
|
332 |
sub init_js { SL::ClientJS->new } |
|
333 | 331 |
sub init_complexities { SL::DB::Manager::RequirementSpecComplexity->get_all_sorted } |
334 | 332 |
sub init_default_project_status { SL::DB::Manager::ProjectStatus->find_by(name => 'planning') } |
335 | 333 |
sub init_default_project_type { SL::DB::ProjectType->new(id => 1)->load } |
... | ... | |
411 | 409 |
my @errors = $self->requirement_spec->validate; |
412 | 410 |
|
413 | 411 |
if (@errors) { |
414 |
return $self->js->error(@errors)->render($self) if $::request->is_ajax;
|
|
412 |
return $self->js->error(@errors)->render if $::request->is_ajax; |
|
415 | 413 |
|
416 | 414 |
flash('error', @errors); |
417 | 415 |
$self->render('requirement_spec/new', title => $title); |
... | ... | |
428 | 426 |
})) { |
429 | 427 |
$::lxdebug->message(LXDebug::WARN(), "Error: " . $db->error); |
430 | 428 |
@errors = ($::locale->text('Saving failed. Error message from the database: #1', $db->error)); |
431 |
return $self->js->error(@errors)->render($self) if $::request->is_ajax;
|
|
429 |
return $self->js->error(@errors)->render if $::request->is_ajax; |
|
432 | 430 |
|
433 | 431 |
$self->requirement_spec->id(undef) if $is_new; |
434 | 432 |
flash('error', @errors); |
... | ... | |
445 | 443 |
->replaceWith('#basic_settings', $basics_html) |
446 | 444 |
->remove('#basic_settings_form') |
447 | 445 |
->flash('info', $info) |
448 |
->render($self);
|
|
446 |
->render; |
|
449 | 447 |
} |
450 | 448 |
|
451 | 449 |
flash_later('info', $info); |
... | ... | |
612 | 610 |
->replaceWith('#basic_settings', $self->render('requirement_spec/_show_basic_settings', { output => 0 })) |
613 | 611 |
->remove('#project_link_form') |
614 | 612 |
->flash('info', t8('The project link has been updated.')) |
615 |
->render($self);
|
|
613 |
->render; |
|
616 | 614 |
} |
617 | 615 |
|
618 | 616 |
sub update_project_link_new { |
... | ... | |
620 | 618 |
|
621 | 619 |
return $self->js |
622 | 620 |
->replaceWith('#project_link_form', $self->render('requirement_spec/_new_project_form', { output => 0 })) |
623 |
->render($self);
|
|
621 |
->render; |
|
624 | 622 |
} |
625 | 623 |
|
626 | 624 |
sub update_project_link_create { |
... | ... | |
634 | 632 |
|
635 | 633 |
my @errors = $project->validate; |
636 | 634 |
|
637 |
return $self->js->error(@errors)->render($self) if @errors;
|
|
635 |
return $self->js->error(@errors)->render if @errors; |
|
638 | 636 |
|
639 | 637 |
my $db = $self->requirement_spec->db; |
640 | 638 |
if (!$db->do_transaction(sub { |
... | ... | |
643 | 641 |
|
644 | 642 |
})) { |
645 | 643 |
$::lxdebug->message(LXDebug::WARN(), "Error: " . $db->error); |
646 |
return $self->js->error(t8('Saving failed. Error message from the database: #1', $db->error))->render($self);
|
|
644 |
return $self->js->error(t8('Saving failed. Error message from the database: #1', $db->error))->render; |
|
647 | 645 |
} |
648 | 646 |
|
649 | 647 |
return $self->invalidate_version |
... | ... | |
651 | 649 |
->remove('#project_link_form') |
652 | 650 |
->flash('info', t8('The project has been created.')) |
653 | 651 |
->flash('info', t8('The project link has been updated.')) |
654 |
->render($self);
|
|
652 |
->render; |
|
655 | 653 |
} |
656 | 654 |
|
657 | 655 |
sub init_models { |
Auch abrufbar als: Unified diff
RequirementSpecs: js accessor angepasst