summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTORS.md11
-rw-r--r--ChangeLog6
-rw-r--r--Makefile2
-rw-r--r--app/Job/UserMentionJob.php7
-rw-r--r--app/Schema/Sql/postgres.sql9
-rw-r--r--doc/api-authentication.markdown3
-rw-r--r--doc/api-json-rpc.markdown1
-rw-r--r--doc/fr_FR/index.markdown1
-rw-r--r--doc/fr_FR/user-mentions.markdown13
-rw-r--r--doc/plugin-registration.markdown22
-rw-r--r--doc/screenshots/mention-autocomplete.pngbin3066 -> 0 bytes
-rw-r--r--doc/screenshots/user-mentions.pngbin0 -> 5228 bytes
-rw-r--r--doc/user-mentions.markdown2
-rw-r--r--tests/units/Job/UserMentionJobTest.php2
14 files changed, 66 insertions, 13 deletions
diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md
index 3a976930..b19698a8 100644
--- a/CONTRIBUTORS.md
+++ b/CONTRIBUTORS.md
@@ -14,9 +14,11 @@ Contributors:
- [Anton](https://github.com/tester22)
- [Ashbike](https://github.com/ashbike)
- [Ashish Kulkarni](https://github.com/ashkulz)
+- [António Pereira](https://github.com/Shaxine)
- [Biniou180](https://github.com/Biniou180)
- [Bitcoin 333](https://github.com/bitcoin333)
- [Busfreak](https://github.com/Busfreak)
+- [Carlos Ferreira](https://github.com/acs-ferreira)
- [Christian González](https://github.com/nerdoc)
- [Christopher Geelen](https://github.com/cdgeelen)
- [Chorgroup](https://github.com/chorgroup)
@@ -32,9 +34,11 @@ Contributors:
- [Damian](https://github.com/dromek)
- [Daniel Raknes](https://github.com/danielraknes)
- [David-Norris](https://github.com/David-Norris)
+- [Diego Betto](https://github.com/diego-betto)
- [Dmitry](https://github.com/dmkcv)
- [Dj Padzensky](https://github.com/djpadz)
- [Draza (bdpsoft)](https://github.com/bdpsoft)
+- [erpnedir](https://github.com/erpnedir)
- [Eskiso](https://github.com/eSkiSo)
- [Esteban Monge](https://github.com/EstebanMonge)
- [Eugene (JohnBat26)](https://github.com/JohnBat26)
@@ -46,6 +50,7 @@ Contributors:
- [Floaltvater](https://github.com/floaltvater)
- [Gavlepeter](https://github.com/gavlepeter)
- [Gerardo Zamudio](https://github.com/gerardozamudio)
+- [Girish Ramakrishnan](https://github.com/gramakri)
- [Goofy](https://github.com/goofy-bz)
- [Hairetdin](https://github.com/hairetdin)
- [Hendrik Stocker](https://github.com/hendrik-stoker)
@@ -58,8 +63,9 @@ Contributors:
- [Jeff Guillou](https://github.com/jf-guillou)
- [Jesusaplsoft](https://github.com/jesusaplsoft)
- [Jesús Marín](https://github.com/alu0100502114)
+- [Jonas Oliveira Francisco](https://github.com/jonasof)
- [Jules Verhaeren](https://github.com/julesverhaeren)
-- [JunglaCODE]https://github.com/junglaCODE)
+- [JunglaCODE](https://github.com/junglaCODE)
- [Karol J](https://github.com/dzudek)
- [Kiswa](https://github.com/kiswa)
- [Kralo](https://github.com/kralo)
@@ -85,6 +91,7 @@ Contributors:
- [Moraxy](https://github.com/moraxy)
- [Muhaimin](https://github.com/infacq)
- [Nala Ginrut](https://github.com/NalaGinrut)
+- [Napier](https://github.com/napiera)
- [Nekohayo](https://github.com/nekohayo)
- [Ngtech](https://github.com/ngtech)
- [Nicolas Lœuillet](https://github.com/nicosomb)
@@ -106,6 +113,7 @@ Contributors:
- [Perburn](https://github.com/perburn)
- [Peripatetic-sojourner](https://github.com/peripatetic-sojourner)
- [Petja Touru](https://github.com/Petja)
+- [PhilLAL](https://github.com/PhilLAL)
- [Pierre-Alexis de Solminihac](https://github.com/pa-de-solminihac)
- [Piotr Zęgota](https://github.com/ZegalPL)
- [Rafaelrossa](https://github.com/rafaelrossa)
@@ -132,6 +140,7 @@ Contributors:
- [Torsten](https://github.com/misterfu)
- [Troloo](https://github.com/troloo)
- [Typz](https://github.com/Typz)
+- [Valentino Pistis](https://github.com/vpistis)
- [Vedovator](https://github.com/vedovator)
- [Vitaliy S. Orlov](https://github.com/orlov0562)
- [Vladimir Babin](https://github.com/Chiliec)
diff --git a/ChangeLog b/ChangeLog
index 2607cf0d..7c653483 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -7,6 +7,7 @@ New features:
* Add personal API access token for users
* Rewrite of Markdown editor (remove CodeMirror)
* Suggest menu for task ID and user mentions in Markdown editor
+* Add config parameter to disable automatic SQL migrations
Improvements:
@@ -15,6 +16,11 @@ Improvements:
* Replace notifications Javascript code by CSS
* Refactoring of user mentions job
* Remove Nitrous installer
+* Update translations
+* Rewrite some components in Vanilla Javascript
+* Started Javascript code refactoring to avoid to much dependencies on jQuery
+* Remove dependency on VueJS and CoreMirror
+* Add P3P headers to avoid potential issues with IE
Breaking changes:
diff --git a/Makefile b/Makefile
index 4cd84074..985aded7 100644
--- a/Makefile
+++ b/Makefile
@@ -105,6 +105,8 @@ sql:
@ let pg_version=`psql -U postgres -A -c 'copy(select version from schema_version) to stdout;' kanboard` ;\
echo "INSERT INTO schema_version VALUES ('$$pg_version');" >> app/Schema/Sql/postgres.sql
+ @ grep -v "SET idle_in_transaction_session_timeout = 0;" app/Schema/Sql/postgres.sql > temp && mv temp app/Schema/Sql/postgres.sql
+
docker-image:
@ docker build -t kanboard/kanboard:latest .
diff --git a/app/Job/UserMentionJob.php b/app/Job/UserMentionJob.php
index ebb69094..bbb27131 100644
--- a/app/Job/UserMentionJob.php
+++ b/app/Job/UserMentionJob.php
@@ -23,7 +23,7 @@ class UserMentionJob extends BaseJob
*/
public function withParams($text, $eventName, GenericEvent $event)
{
- $this->jobParams = array($text, $eventName, $event);
+ $this->jobParams = array($text, $eventName, $event->getAll());
return $this;
}
@@ -32,10 +32,11 @@ class UserMentionJob extends BaseJob
*
* @param string $text
* @param string $eventName
- * @param GenericEvent $event
+ * @param array $eventData
*/
- public function execute($text, $eventName, GenericEvent $event)
+ public function execute($text, $eventName, array $eventData)
{
+ $event = new GenericEvent($eventData);
$users = $this->getMentionedUsers($text);
foreach ($users as $user) {
diff --git a/app/Schema/Sql/postgres.sql b/app/Schema/Sql/postgres.sql
index 7a93b9f1..578b0c75 100644
--- a/app/Schema/Sql/postgres.sql
+++ b/app/Schema/Sql/postgres.sql
@@ -7,7 +7,6 @@
SET statement_timeout = 0;
SET lock_timeout = 0;
-SET idle_in_transaction_session_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SET check_function_bodies = false;
@@ -2528,7 +2527,6 @@ ALTER TABLE ONLY "user_has_unread_notifications"
SET statement_timeout = 0;
SET lock_timeout = 0;
-SET idle_in_transaction_session_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SET check_function_bodies = false;
@@ -2545,8 +2543,8 @@ INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('board_high
INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('board_public_refresh_interval', '60', 0, 0);
INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('board_private_refresh_interval', '10', 0, 0);
INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('board_columns', '', 0, 0);
-INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('webhook_token', '8687190194e06d34c2cd84a57b36f67696c971c2f8e453f96e59eccb8e73', 0, 0);
-INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('api_token', '8381164131e3995ca17c754a5b0cf7039d66b9f389b80250978de9fcf2f5', 0, 0);
+INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('webhook_token', 'b64911d9b61ea71adada348105281e16470e268fce7cb9bf1895958d4bbc', 0, 0);
+INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('api_token', 'f63bd25c2e952d78b70f178fd96b4207ef29315ca73d308af37c02d8d51f', 0, 0);
INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('application_language', 'en_US', 0, 0);
INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('application_timezone', 'UTC', 0, 0);
INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('application_url', '', 0, 0);
@@ -2579,7 +2577,6 @@ INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('password_r
SET statement_timeout = 0;
SET lock_timeout = 0;
-SET idle_in_transaction_session_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SET check_function_bodies = false;
@@ -2616,4 +2613,4 @@ SELECT pg_catalog.setval('links_id_seq', 11, true);
-- PostgreSQL database dump complete
--
-INSERT INTO users (username, password, role) VALUES ('admin', '$2y$10$R1zYk04d96KcHRpd9.r5I.5I6mgKIgUdsaISZYmaDLPIJCUO0FFJG', 'app-admin');INSERT INTO schema_version VALUES ('97');
+INSERT INTO users (username, password, role) VALUES ('admin', '$2y$10$0.8BJyhOEBHGqfwD3nIJHuxObqTlZGJ/KRNDVHfSu7RGd42rEbSa.', 'app-admin');INSERT INTO schema_version VALUES ('97');
diff --git a/doc/api-authentication.markdown b/doc/api-authentication.markdown
index 3ba1e8f5..be536be3 100644
--- a/doc/api-authentication.markdown
+++ b/doc/api-authentication.markdown
@@ -17,7 +17,8 @@ Default method (HTTP Basic)
### User credentials
-- Use the real username and password
+- Username: username
+- Password: user password or personal access token
The API use the [HTTP Basic Authentication Scheme described in the RFC2617](http://www.ietf.org/rfc/rfc2617.txt).
diff --git a/doc/api-json-rpc.markdown b/doc/api-json-rpc.markdown
index ab1056f0..fc612682 100644
--- a/doc/api-json-rpc.markdown
+++ b/doc/api-json-rpc.markdown
@@ -18,6 +18,7 @@ There are two types of API access:
### User API
- Access to the API with the user credentials (username and password)
+- You can also generate a personal access token instead of your password
- Application role and project permissions are checked for each procedure
- A user session is created on the server
- Example of possible clients: native mobile/desktop application, command line utility, etc...
diff --git a/doc/fr_FR/index.markdown b/doc/fr_FR/index.markdown
index d48c94ca..b33baf85 100644
--- a/doc/fr_FR/index.markdown
+++ b/doc/fr_FR/index.markdown
@@ -46,6 +46,7 @@ Utiliser Kanboard
- [Créer des tâches par email](create-tasks-by-email.markdown)
- [Sous-tâches](subtasks.markdown)
- [Analytique des tâches](analytics-tasks.markdown)
+- [Mentionner les utilisateurs](user-mentions.markdown)
### Travailler avec les utilisateurs
diff --git a/doc/fr_FR/user-mentions.markdown b/doc/fr_FR/user-mentions.markdown
new file mode 100644
index 00000000..af322bb8
--- /dev/null
+++ b/doc/fr_FR/user-mentions.markdown
@@ -0,0 +1,13 @@
+Mentionner les utilisateurs
+===========================
+
+Kanboard offre la possibilité d'envoyer des notifications lorsque quelqu'un est mentionné.
+
+Si vous avez besoin d'obtenir l'attention de quelqu'un dans un commentaire ou une tâche, utilisez le symbole @ suivi de l'identifiant de l'utilisateur.
+Kanboard va automatiquement suggérer une liste d'utilisateurs :
+
+![Mentions](screenshots/user-mentions.png)
+
+- Pour le moment, cette fonctionnalité est activée uniquement pour la description des tâches et les commentaires
+- Cela fonctionne seulement lors de la création des tâches ou commentaires
+- Pour être mentionné, les utilisateurs doivent être membres du projet
diff --git a/doc/plugin-registration.markdown b/doc/plugin-registration.markdown
index a9273e1d..2c80aab3 100644
--- a/doc/plugin-registration.markdown
+++ b/doc/plugin-registration.markdown
@@ -1,6 +1,28 @@
Plugin Registration
===================
+Project skeleton generator
+--------------------------
+
+You can use `cookiecutter` to create the project structure of your plugin automatically.
+
+Install Cookiecutter:
+
+```bash
+pip install -U cookiecutter
+```
+
+Run Kanboard cookiecutter:
+
+```bash
+cookiecutter gh:kanboard/cookiecutter-plugin
+plugin_name [My Plugin]: Some Plugin
+plugin_namespace [MyPlugin]: SomePlugin
+plugin_author [Plugin Author]: Me
+plugin_description [My plugin is awesome]:
+plugin_homepage [https://github.com/kanboard/plugin-myplugin]:
+```
+
Directory structure
-------------------
diff --git a/doc/screenshots/mention-autocomplete.png b/doc/screenshots/mention-autocomplete.png
deleted file mode 100644
index f23fb6d1..00000000
--- a/doc/screenshots/mention-autocomplete.png
+++ /dev/null
Binary files differ
diff --git a/doc/screenshots/user-mentions.png b/doc/screenshots/user-mentions.png
new file mode 100644
index 00000000..d5f7bcc6
--- /dev/null
+++ b/doc/screenshots/user-mentions.png
Binary files differ
diff --git a/doc/user-mentions.markdown b/doc/user-mentions.markdown
index 156456d6..4ce47054 100644
--- a/doc/user-mentions.markdown
+++ b/doc/user-mentions.markdown
@@ -6,7 +6,7 @@ Kanboard offers the possibility to send notifications when someone is mentioned.
If you need to get the attention of someone in a comment or in a task, use the @ symbol followed by their username.
Kanboard will automatically suggest a list of users:
-![User Mention](screenshots/mention-autocomplete.png)
+![User Mention](screenshots/user-mentions.png)
- At the moment, only the task description and the comment text area have this feature enabled.
- The user mentions works only during tasks and comments creation.
diff --git a/tests/units/Job/UserMentionJobTest.php b/tests/units/Job/UserMentionJobTest.php
index 31d0ddbb..4cd4ac9b 100644
--- a/tests/units/Job/UserMentionJobTest.php
+++ b/tests/units/Job/UserMentionJobTest.php
@@ -90,7 +90,7 @@ class UserMentionJobTest extends Base
$this->container['dispatcher']->addListener(TaskModel::EVENT_USER_MENTION, array($this, 'onUserMention'));
- $userMentionJob->execute('test @user1 @user2', TaskModel::EVENT_USER_MENTION, $event);
+ $userMentionJob->execute('test @user1 @user2', TaskModel::EVENT_USER_MENTION, $event->getAll());
$called = $this->container['dispatcher']->getCalledListeners();
$this->assertArrayHasKey(TaskModel::EVENT_USER_MENTION.'.UserMentionJobTest::onUserMention', $called);