1 package SL::Controller::RecordTemplate;
5 use base qw(SL::Controller::Base);
7 use SL::Helper::Flash qw(flash);
8 use SL::Locale::String qw(t8);
9 use SL::DB::RecordTemplate;
11 use Rose::Object::MakeMethods::Generic (
12 'scalar --get_set_init' => [ qw(template_type template templates data) ],
15 __PACKAGE__->run_before('check_auth');
19 controller => 'ar.pl',
20 load_action => 'load_record_template',
21 save_action => 'save_record_template',
22 form_selector => '#form',
26 controller => 'ap.pl',
27 load_action => 'load_record_template',
28 save_action => 'save_record_template',
29 form_selector => '#form',
33 controller => 'gl.pl',
34 load_action => 'load_record_template',
35 save_action => 'save_record_template',
36 form_selector => '#form',
44 sub action_show_dialog {
49 html => $self->dialog_html,
50 id => 'record_template_dialog',
52 title => t8('Record templates'),
55 ->focus("#template_filter")
62 $self->template_type($self->template->template_type);
63 $self->template->update_attributes(template_name => $::form->{template_name});
67 ->html('#record_template_dialog', $self->dialog_html)
68 ->focus("#record_template_dialog_new_template_name")
76 $self->template_type($self->template->template_type);
77 $self->template->delete;
81 ->html('#record_template_dialog', $self->dialog_html)
82 ->focus("#record_template_dialog_new_template_name")
87 sub action_filter_templates {
90 $self->{template_filter} = $::form->{template_filter};
94 ->html('#record_template_dialog', $self->dialog_html)
95 ->focus("#record_template_dialog_new_template_name")
97 ->focus("#template_filter")
106 $::auth->assert('ap_transactions | ar_transactions | gl_transactions');
109 sub init_template_type { $::form->{template_type} or die 'need template_type' }
110 sub init_data { $modules{ $_[0]->template_type } }
111 sub init_template { SL::DB::RecordTemplate->new(id => $::form->{id})->load }
115 return scalar SL::DB::Manager::RecordTemplate->get_all_sorted(
116 where => [ template_type => $self->template_type,
117 (template_name => { ilike => '%' . $::form->{template_filter} . '%' })x!! ($::form->{template_filter})
125 return $self->render('record_template/dialog', { layout => 0, output => 0 });