Sprache auf ungültig setzen im Admin-Bereich
[kivitendo-erp.git] / SL / Controller / Draft.pm
index 8ad37ce..02e74f5 100644 (file)
@@ -9,7 +9,7 @@ use SL::Locale::String qw(t8);
 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 (
@@ -53,7 +53,7 @@ sub action_save {
     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,
   );
 
@@ -68,6 +68,7 @@ sub action_save {
     $self->js
       ->flash('info', t8("Draft saved."))
       ->dialog->close('#save_draft')
+      ->val('#draft_id', $draft->id)
       ->render;
   }
 }
@@ -82,7 +83,7 @@ sub action_load {
     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);
 
@@ -131,7 +132,16 @@ sub _build_form {
 sub draft_list {
   my ($self) = @_;
 
-  my $result = selectall_hashref_query($::form, $::form->get_standard_dbh, <<SQL, $self->module, $self->submodule, SL::DB::Manager::Employee->current->id);
+  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
+    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      = ?)
@@ -139,6 +149,7 @@ sub draft_list {
       AND (d.employee_id = ?)
     ORDER BY d.itime
 SQL
+  }
 }
 
 sub dialog_html {