summaryrefslogtreecommitdiff
path: root/app/Model
diff options
context:
space:
mode:
authorFrederic Guillot <fred@kanboard.net>2015-10-03 18:22:06 -0400
committerFrederic Guillot <fred@kanboard.net>2015-10-03 18:22:06 -0400
commitc9e317872004cdd7e58a9474d17a1b85888c5873 (patch)
tree5f21bd427d12a65c9b0577c50ca1bee94bfdee44 /app/Model
parent260c8515c507b8c339fdbe1a10b0f13792eac09d (diff)
Fix issue when unlinking Gitlab account
Diffstat (limited to 'app/Model')
-rw-r--r--app/Model/Base.php16
-rw-r--r--app/Model/User.php2
2 files changed, 17 insertions, 1 deletions
diff --git a/app/Model/Base.php b/app/Model/Base.php
index a15f071c..902ab269 100644
--- a/app/Model/Base.php
+++ b/app/Model/Base.php
@@ -97,6 +97,22 @@ abstract class Base extends \Core\Base
}
/**
+ * Force some fields to be null if empty
+ *
+ * @access public
+ * @param array $values Input array
+ * @param string[] $keys List of keys
+ */
+ public function convertNullFields(array &$values, array $keys)
+ {
+ foreach ($keys as $key) {
+ if (array_key_exists($key, $values) && empty($values[$key])) {
+ $values[$key] = null;
+ }
+ }
+ }
+
+ /**
* Build SQL condition for a given time range
*
* @access protected
diff --git a/app/Model/User.php b/app/Model/User.php
index 5792a549..fd2ec954 100644
--- a/app/Model/User.php
+++ b/app/Model/User.php
@@ -279,7 +279,7 @@ class User extends Base
$this->removeFields($values, array('confirmation', 'current_password'));
$this->resetFields($values, array('is_admin', 'is_ldap_user', 'is_project_admin', 'disable_login_form'));
- $this->removeEmptyFields($values, array('gitlab_id'));
+ $this->convertNullFields($values, array('gitlab_id'));
$this->convertIntegerFields($values, array('gitlab_id'));
}