diff options
-rw-r--r-- | CONTRIBUTORS.md | 11 | ||||
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | app/Job/UserMentionJob.php | 7 | ||||
-rw-r--r-- | app/Schema/Sql/postgres.sql | 9 | ||||
-rw-r--r-- | doc/api-authentication.markdown | 3 | ||||
-rw-r--r-- | doc/api-json-rpc.markdown | 1 | ||||
-rw-r--r-- | doc/fr_FR/index.markdown | 1 | ||||
-rw-r--r-- | doc/fr_FR/user-mentions.markdown | 13 | ||||
-rw-r--r-- | doc/plugin-registration.markdown | 22 | ||||
-rw-r--r-- | doc/screenshots/mention-autocomplete.png | bin | 3066 -> 0 bytes | |||
-rw-r--r-- | doc/screenshots/user-mentions.png | bin | 0 -> 5228 bytes | |||
-rw-r--r-- | doc/user-mentions.markdown | 2 | ||||
-rw-r--r-- | tests/units/Job/UserMentionJobTest.php | 2 |
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) @@ -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: @@ -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 Binary files differdeleted file mode 100644 index f23fb6d1..00000000 --- a/doc/screenshots/mention-autocomplete.png +++ /dev/null diff --git a/doc/screenshots/user-mentions.png b/doc/screenshots/user-mentions.png Binary files differnew file mode 100644 index 00000000..d5f7bcc6 --- /dev/null +++ b/doc/screenshots/user-mentions.png 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); |