use SL::Request;
use SL::DB::Draft;
use SL::DBUtils qw(selectall_hashref_query);
-use YAML;
+use SL::YAML;
use List::Util qw(max);
use Rose::Object::MakeMethods::Generic (
module => $self->module,
submodule => $self->submodule,
description => $description,
- form => YAML::Dump($form),
+ form => SL::YAML::Dump($form),
employee_id => SL::DB::Manager::Employee->current->id,
);
$self->js
->flash('info', t8("Draft saved."))
->dialog->close('#save_draft')
+ ->val('#draft_id', $draft->id)
->render;
}
}
package main;
require $allowed_modules{ $self->draft->module };
}
-
-
my $params = delete $::form->{form};
- my $new_form = YAML::Load($self->draft->form);
+ my $new_form = SL::YAML::Load($self->draft->form);
$::form->{$_} = $new_form->{$_} for keys %$new_form;
$::form->{"draft_$_"} = $self->draft->$_ for qw(id description);
if ($params && 'HASH' eq ref $params) {
$::form->{$_} = $params->{$_} for keys %$params;
}
- $::form->{transdate} = DateTime->today_local->to_kivitendo if !$::form->{transdate};
- $::form->{gldate} = $::form->{transdate} if !$::form->{gldate};
$::form->{script} = $self->draft->module . '.pl';
- ::update();
+ ::show_draft();
}
sub action_delete {
sub draft_list {
my ($self) = @_;
- my $result = selectall_hashref_query($::form, $::form->get_standard_dbh, <<SQL, $self->module, $self->submodule);
- SELECT d.*, date(d.itime) AS date, e.name AS employee_name
+ if ($::auth->assert('all_drafts_edit', 1)) {
+ my $result = selectall_hashref_query($::form, $::form->get_standard_dbh, <<SQL, $self->module, $self->submodule);
+ SELECT d.*, date(d.itime) AS date
FROM drafts d
- LEFT JOIN employee e ON d.employee_id = e.id
- WHERE (d.module = ?) AND (d.submodule = ?)
+ WHERE (d.module = ?)
+ AND (d.submodule = ?)
ORDER BY d.itime
SQL
+ } else {
+ my $result = selectall_hashref_query($::form, $::form->get_standard_dbh, <<SQL, $self->module, $self->submodule, SL::DB::Manager::Employee->current->id);
+ SELECT d.*, date(d.itime) AS date
+ FROM drafts d
+ WHERE (d.module = ?)
+ AND (d.submodule = ?)
+ AND (d.employee_id = ?)
+ ORDER BY d.itime
+SQL
+ }
}
sub dialog_html {