user and data for metadata + settings
user and date for metadata #1853 #1861
This commit is contained in:
committed by
BlueTeck
parent
7d7b9f78b8
commit
194fbe263e
@@ -81,19 +81,19 @@ abstract class Metadata extends Base
|
|||||||
public function save($entity_id, array $values)
|
public function save($entity_id, array $values)
|
||||||
{
|
{
|
||||||
$results = array();
|
$results = array();
|
||||||
|
$user_id = $this->userSession->getId();
|
||||||
|
$timestamp = time();
|
||||||
|
|
||||||
$this->db->startTransaction();
|
$this->db->startTransaction();
|
||||||
|
|
||||||
foreach ($values as $key => $value) {
|
foreach ($values as $key => $value) {
|
||||||
if ($this->exists($entity_id, $key)) {
|
if ($this->exists($entity_id, $key)) {
|
||||||
$results[] = $this->db->table(static::TABLE)->eq($this->getEntityKey(), $entity_id)->eq('name', $key)->update(array('value' => $value));
|
$results[] = $this->db->table(static::TABLE)->eq($this->getEntityKey(), $entity_id)->eq('name', $key)->update(array('value' => $value, 'changed_on' => $timestamp, 'changed_by' => $user_id));
|
||||||
} else {
|
} else {
|
||||||
$results[] = $this->db->table(static::TABLE)->insert(array('name' => $key, 'value' => $value, $this->getEntityKey() => $entity_id));
|
$results[] = $this->db->table(static::TABLE)->insert(array('name' => $key, 'value' => $value, $this->getEntityKey() => $entity_id, 'changed_on' => $timestamp, 'changed_by' => $user_id));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->db->closeTransaction();
|
$this->db->closeTransaction();
|
||||||
|
|
||||||
return ! in_array(false, $results, true);
|
return ! in_array(false, $results, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -81,14 +81,16 @@ abstract class Setting extends Base
|
|||||||
{
|
{
|
||||||
$results = array();
|
$results = array();
|
||||||
$values = $this->prepare($values);
|
$values = $this->prepare($values);
|
||||||
|
$user_id = $this->userSession->getId();
|
||||||
|
$timestamp = time();
|
||||||
|
|
||||||
$this->db->startTransaction();
|
$this->db->startTransaction();
|
||||||
|
|
||||||
foreach ($values as $option => $value) {
|
foreach ($values as $option => $value) {
|
||||||
if ($this->exists($option)) {
|
if ($this->exists($option)) {
|
||||||
$results[] = $this->db->table(self::TABLE)->eq('option', $option)->update(array('value' => $value));
|
$results[] = $this->db->table(self::TABLE)->eq('option', $option)->update(array('value' => $value, 'changed_on' => $timestamp, 'changed_by' => $user_id));
|
||||||
} else {
|
} else {
|
||||||
$results[] = $this->db->table(self::TABLE)->insert(array('option' => $option, 'value' => $value));
|
$results[] = $this->db->table(self::TABLE)->insert(array('option' => $option, 'value' => $value, 'changed_on' => $timestamp, 'changed_by' => $user_id));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,23 @@ use PDO;
|
|||||||
use Kanboard\Core\Security\Token;
|
use Kanboard\Core\Security\Token;
|
||||||
use Kanboard\Core\Security\Role;
|
use Kanboard\Core\Security\Role;
|
||||||
|
|
||||||
const VERSION = 107;
|
const VERSION = 108;
|
||||||
|
|
||||||
|
function version_108(PDO $pdo)
|
||||||
|
{
|
||||||
|
//user_has_metadata
|
||||||
|
$pdo->exec("ALTER TABLE user_has_metadata ADD COLUMN changed_by INT DEFAULT 0 NOT NULL");
|
||||||
|
$pdo->exec("ALTER TABLE user_has_metadata ADD COLUMN changed_on INT DEFAULT 0 NOT NULL");
|
||||||
|
//project_has_metadata
|
||||||
|
$pdo->exec("ALTER TABLE project_has_metadata ADD COLUMN changed_by INT DEFAULT 0 NOT NULL");
|
||||||
|
$pdo->exec("ALTER TABLE project_has_metadata ADD COLUMN changed_on INT DEFAULT 0 NOT NULL");
|
||||||
|
//task_has_metadata
|
||||||
|
$pdo->exec("ALTER TABLE task_has_metadata ADD COLUMN changed_by INT DEFAULT 0 NOT NULL");
|
||||||
|
$pdo->exec("ALTER TABLE task_has_metadata ADD COLUMN changed_on INT DEFAULT 0 NOT NULL");
|
||||||
|
//settings
|
||||||
|
$pdo->exec("ALTER TABLE settings ADD COLUMN changed_by INT DEFAULT 0 NOT NULL");
|
||||||
|
$pdo->exec("ALTER TABLE settings ADD COLUMN changed_on INT DEFAULT 0 NOT NULL");
|
||||||
|
}
|
||||||
|
|
||||||
function version_107(PDO $pdo)
|
function version_107(PDO $pdo)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -6,7 +6,23 @@ use PDO;
|
|||||||
use Kanboard\Core\Security\Token;
|
use Kanboard\Core\Security\Token;
|
||||||
use Kanboard\Core\Security\Role;
|
use Kanboard\Core\Security\Role;
|
||||||
|
|
||||||
const VERSION = 87;
|
const VERSION = 88;
|
||||||
|
|
||||||
|
function version_88(PDO $pdo)
|
||||||
|
{
|
||||||
|
//user_has_metadata
|
||||||
|
$pdo->exec("ALTER TABLE user_has_metadata ADD COLUMN changed_by INTEGER DEFAULT 0 NOT NULL");
|
||||||
|
$pdo->exec("ALTER TABLE user_has_metadata ADD COLUMN changed_on INTEGER DEFAULT 0 NOT NULL");
|
||||||
|
//project_has_metadata
|
||||||
|
$pdo->exec("ALTER TABLE project_has_metadata ADD COLUMN changed_by INTEGER DEFAULT 0 NOT NULL");
|
||||||
|
$pdo->exec("ALTER TABLE project_has_metadata ADD COLUMN changed_on INTEGER DEFAULT 0 NOT NULL");
|
||||||
|
//task_has_metadata
|
||||||
|
$pdo->exec("ALTER TABLE task_has_metadata ADD COLUMN changed_by INTEGER DEFAULT 0 NOT NULL");
|
||||||
|
$pdo->exec("ALTER TABLE task_has_metadata ADD COLUMN changed_on INTEGER DEFAULT 0 NOT NULL");
|
||||||
|
//settings
|
||||||
|
$pdo->exec("ALTER TABLE settings ADD COLUMN changed_by INTEGER DEFAULT 0 NOT NULL");
|
||||||
|
$pdo->exec("ALTER TABLE settings ADD COLUMN changed_on INTEGER DEFAULT 0 NOT NULL");
|
||||||
|
}
|
||||||
|
|
||||||
function version_87(PDO $pdo)
|
function version_87(PDO $pdo)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -6,7 +6,24 @@ use Kanboard\Core\Security\Token;
|
|||||||
use Kanboard\Core\Security\Role;
|
use Kanboard\Core\Security\Role;
|
||||||
use PDO;
|
use PDO;
|
||||||
|
|
||||||
const VERSION = 99;
|
const VERSION = 100;
|
||||||
|
|
||||||
|
function version_100(PDO $pdo)
|
||||||
|
{
|
||||||
|
//user_has_metadata
|
||||||
|
$pdo->exec("ALTER TABLE user_has_metadata ADD COLUMN changed_by INTEGER DEFAULT 0 NOT NULL");
|
||||||
|
$pdo->exec("ALTER TABLE user_has_metadata ADD COLUMN changed_on INTEGER DEFAULT 0 NOT NULL");
|
||||||
|
//project_has_metadata
|
||||||
|
$pdo->exec("ALTER TABLE project_has_metadata ADD COLUMN changed_by INTEGER DEFAULT 0 NOT NULL");
|
||||||
|
$pdo->exec("ALTER TABLE project_has_metadata ADD COLUMN changed_on INTEGER DEFAULT 0 NOT NULL");
|
||||||
|
//task_has_metadata
|
||||||
|
$pdo->exec("ALTER TABLE task_has_metadata ADD COLUMN changed_by INTEGER DEFAULT 0 NOT NULL");
|
||||||
|
$pdo->exec("ALTER TABLE task_has_metadata ADD COLUMN changed_on INTEGER DEFAULT 0 NOT NULL");
|
||||||
|
//settings
|
||||||
|
$pdo->exec("ALTER TABLE settings ADD COLUMN changed_by INTEGER DEFAULT 0 NOT NULL");
|
||||||
|
$pdo->exec("ALTER TABLE settings ADD COLUMN changed_on INTEGER DEFAULT 0 NOT NULL");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
function version_99(PDO $pdo)
|
function version_99(PDO $pdo)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
Metadata
|
Metadata
|
||||||
========
|
========
|
||||||
|
|
||||||
You can attach metadata for each project, task and user.
|
You can attach metadata for each project, task, user or for the whole application.
|
||||||
Metadata are custom fields, it's a key/value table.
|
Metadata are custom fields, it's a key/value table.
|
||||||
|
|
||||||
For example your plugin can store external information for a task or new settings for a project.
|
For example your plugin can store external information for a task or new settings for a project.
|
||||||
@@ -34,6 +34,7 @@ Metadata types
|
|||||||
- TaskMetadata: `$this->taskMetadata`
|
- TaskMetadata: `$this->taskMetadata`
|
||||||
- ProjectMetadata: `$this->projectMetadata`
|
- ProjectMetadata: `$this->projectMetadata`
|
||||||
- UserMetadata: `$this->userMetadata`
|
- UserMetadata: `$this->userMetadata`
|
||||||
|
- Settings/Config: `$this->config`
|
||||||
|
|
||||||
Notes
|
Notes
|
||||||
-----
|
-----
|
||||||
|
|||||||
Reference in New Issue
Block a user