From c98a6c71a89747e920907cef500005cd046bc896 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andrej=20Rama=C5=A1euski?= <andrej@x2.cz>
Date: Sun, 20 Dec 2020 02:26:34 +0100
Subject: [PATCH] Pridan helper pro update vstupnich dat

---
 lib/CF/Helpers/Core.pm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/lib/CF/Helpers/Core.pm b/lib/CF/Helpers/Core.pm
index 6aa1009..b60ae0a 100644
--- a/lib/CF/Helpers/Core.pm
+++ b/lib/CF/Helpers/Core.pm
@@ -140,6 +140,25 @@ sub register ($class, $self, $conf) {
         );
     });
 
+    $self->helper( prepare_update_data => sub($c, $result, $args) {
+        my $update = {};
+
+        my %protected = ();
+        if ( $result->resultset_class->can('PROTECTED_FIELDS')) {
+            %protected = map {$_ => 1}
+                @{ $result->resultset_class->PROTECTED_FIELDS()};
+        }
+
+        FIELD:
+        foreach my $field ( $result->columns() ) {
+            if ( exists $args->{$field} && ! $protected{$field} ) {
+                $update->{$field} = $args->{$field} ;
+            }
+        }
+
+        return $update;
+    });
+
     $self->helper( format_timestamp => sub($c, $timestamp, $format) {
         return $timestamp;
     });
-- 
GitLab