OSDN Git Service

Model::Journal: fix update() create new discussion unintentionally
authorhylom <hylom@users.osdn.me>
Fri, 31 May 2019 11:25:23 +0000 (11:25 +0000)
committerhylom <hylom@users.osdn.me>
Fri, 31 May 2019 11:25:23 +0000 (11:25 +0000)
src/newslash_web/lib/Newslash/Model/Journals.pm

index 0722528..78ed870 100644 (file)
@@ -672,6 +672,10 @@ sub update {
     my $id = $params->{id} || $params->{journal_id};
     return if !$id;
 
+    # get current information
+    my $current = $self->select(id => $id);
+    return if !$current;
+
     my $dbh = $self->start_transaction;
 
     my @sql_clauses;
@@ -681,7 +685,7 @@ sub update {
     my $article = $params->{article} || $params->{bodytext} || $params->{body_text};
     my $description = $params->{description} || $params->{title};
     my $posttype = $params->{posttype} || $params->{post_type};
-    my $discussion_id = $params->{discussion} || $params->{discussion_id};
+    my $discussion_id = $params->{discussion} || $params->{discussion_id} || $current->{discussion};
     my $tid = $params->{tid};
     my $commentstatus = $params->{commentstatus} || $params->{comment_status};
     my $formatter = $params->{formatter};