├── .github
└── workflows
│ ├── generatemo.yml
│ ├── release.yml
│ └── updatepot.yml
├── ISSUE_TEMPLATE.md
├── LICENSE
├── README.md
├── SECURITY.md
├── TODO.txt
├── ajax
├── addOptions.php
├── contextForm.php
├── dropdownState.php
├── dropdownTypeTasks.php
├── getTaskComment.php
├── index.php
├── inputEntity.php
├── kanban.php
├── seetask.php
└── updatetask.php
├── front
├── comment.form.php
├── index.php
├── kanban.php
├── preference.form.php
├── setup.templates.php
├── task.form.php
├── task.php
├── task_comment.form.php
├── taskstate.form.php
├── taskstate.php
├── tasktype.form.php
├── tasktype.php
├── ticket.form.php
└── typevisibility.form.php
├── hook.php
├── inc
├── dashboard.class.php
├── index.php
├── item_kanban.class.php
├── kanban.class.php
├── menu.class.php
├── notificationtargettask.class.php
├── preference.class.php
├── profile.class.php
├── task.class.php
├── task_comment.class.php
├── taskstate.class.php
├── tasktype.class.php
├── ticket.class.php
└── typevisibility.class.php
├── index.php
├── lib
├── jquery-ui
│ ├── images
│ │ ├── ui-icons_444444_256x240.png
│ │ ├── ui-icons_555555_256x240.png
│ │ ├── ui-icons_777620_256x240.png
│ │ ├── ui-icons_777777_256x240.png
│ │ ├── ui-icons_cc0000_256x240.png
│ │ └── ui-icons_ffffff_256x240.png
│ ├── jquery-ui.min.css
│ └── jquery-ui.min.js
└── kanban
│ ├── LICENSE
│ ├── README.md
│ ├── css
│ └── kanban.css
│ ├── images
│ └── dragger.png
│ └── js
│ ├── Kanban.js
│ └── kanban-actions.js
├── locales
├── cs_CZ.mo
├── cs_CZ.po
├── en_GB.mo
├── en_GB.po
├── es_419.mo
├── es_419.po
├── es_EC.mo
├── es_EC.po
├── es_ES.mo
├── es_ES.po
├── es_MX.mo
├── es_MX.po
├── es_VE.mo
├── es_VE.po
├── fi_FI.mo
├── fi_FI.po
├── fr_FR.mo
├── fr_FR.po
├── glpi.pot
├── ja_JP.mo
├── ja_JP.po
├── pl_PL.mo
├── pl_PL.po
├── pt_BR.mo
├── pt_BR.po
├── ru_RU.mo
└── ru_RU.po
├── screenshots
├── Tasks list from Dashboard.png
├── addTask.png
└── kanban.png
├── setup.php
├── sql
├── empty-1.0.0.sql
├── empty-1.3.0.sql
├── empty-1.4.0.sql
├── empty-1.5.1.sql
├── empty-1.6.0.sql
├── empty-1.6.1.sql
├── empty-2.0.0.sql
├── empty-2.0.4.sql
├── update-1.4.0.sql
├── update-1.4.1.sql
├── update-1.5.1.sql
├── update-1.6.0.sql
├── update-1.6.1.sql
└── update-2.0.0.sql
├── tasklists.png
├── tasklists.xml
├── templates
└── kanban.html.twig
└── tools
├── extract_template.sh
├── update_mo.pl
└── update_po.pl
/.github/workflows/generatemo.yml:
--------------------------------------------------------------------------------
1 | name: Generate MO
2 | on:
3 | push:
4 | branches: [ master ]
5 | paths:
6 | - '**.po'
7 | env:
8 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
9 | jobs:
10 | run:
11 |
12 | name: Generate mo
13 | runs-on: ubuntu-latest
14 | steps:
15 | - name: Checkout repo
16 | uses: actions/checkout@v4
17 |
18 | - name: Setup Perl environment
19 | # You may pin to the exact commit or the version.
20 | # uses: shogo82148/actions-setup-perl@8d2e3d59a9516b785ed32169d48a4888eaa9b514
21 | uses: shogo82148/actions-setup-perl@v1
22 | - name: msgfmt
23 | # You may pin to the exact commit or the version.
24 | # uses: whtsky/msgfmt-action@6b2181f051b002182d01a1e1f1aff216230c5a4d
25 | uses: whtsky/msgfmt-action@20190305
26 | - name: Generate mo
27 | run: perl tools/update_mo.pl;
28 |
29 | - name: Commit changes
30 | uses: EndBug/add-and-commit@v9
31 | with:
32 |
33 | message: "Generate mo"
34 | - name: Push changes
35 |
36 | uses: actions-go/push@master
37 |
38 |
--------------------------------------------------------------------------------
/.github/workflows/release.yml:
--------------------------------------------------------------------------------
1 |
2 | on:
3 | push:
4 | # Sequence of patterns matched against refs/tags
5 | tags:
6 | - '*.*.*' # Push events to matching ex:20.15.10
7 |
8 | name: Create release with tag
9 | env:
10 | TAG_VALUE: ${GITHUB_REF/refs\/tags\//}
11 | jobs:
12 | build:
13 | name: Upload Release Asset
14 | runs-on: ubuntu-latest
15 | steps:
16 | - name: Checkout code
17 | uses: actions/checkout@v4
18 | - name: Setup PHP
19 | uses: shivammathur/setup-php@v2
20 | with:
21 | php-version: 7.4
22 | - name: Build project # This would actually build your project, using zip for an example artifact
23 | id: build_
24 | env:
25 | GITHUB_NAME: ${{ github.event.repository.name }}
26 |
27 |
28 | run: php -v ;sudo apt-get install libxml-xpath-perl; sudo apt-get install composer;echo $(xpath -e '/root/versions/version[num="'${GITHUB_REF/refs\/tags\//}'"]/compatibility/text()' $GITHUB_NAME.xml);echo ::set-output name=version_glpi::$(xpath -e '/root/versions/version[num="'${GITHUB_REF/refs\/tags\//}'"]/compatibility/text()' $GITHUB_NAME.xml); [[ -f composer.json ]] && composer install --no-dev; rm -rf $GITHUB_NAME.xml tools wiki screenshots test .git .github ISSUE_TEMPLATE.md TODO.txt $GITHUB_NAME.png;cd ..; tar -jcvf glpi-$GITHUB_NAME-${GITHUB_REF/refs\/tags\//}.tar.bz2 $GITHUB_NAME;ls -al;echo ::set-output name=tag::${GITHUB_REF/refs\/tags\//};echo ${{ steps.getxml.outputs.info }};
29 | # run: rm -rf $GITHUB_NAME.xml tools wiki screenshots test ISSUE_TEMPLATE.md TODO.txt $GITHUB_NAME.png; tar -zcvf glpi-$GITHUB_NAME-$GITHUB_TAG.tar.bz2 $GITHUB_NAME
30 | - name: Create Release
31 | id: create_release
32 | uses: actions/create-release@v1
33 | env:
34 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
35 | with:
36 | tag_name: ${{ github.ref }}
37 | release_name: |
38 | GLPI ${{ steps.build_.outputs.version_glpi }} : Version ${{ github.ref }} disponible / available
39 | body : Version ${{ steps.build_.outputs.tag }} released for GLPI ${{ steps.build_.outputs.version_glpi }}
40 | draft: false
41 | prerelease: true
42 | - name: Upload Release Asset
43 | id: upload-release-asset
44 | uses: actions/upload-release-asset@v1
45 | env:
46 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
47 | GITHUB_NAME: ${{ github.event.repository.name }}
48 | with:
49 | upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
50 | asset_path: /home/runner/work/${{ github.event.repository.name }}/glpi-${{ github.event.repository.name }}-${{ steps.build_.outputs.tag }}.tar.bz2
51 | asset_name: glpi-${{ github.event.repository.name }}-${{ steps.build_.outputs.tag }}.tar.bz2
52 | asset_content_type: application/zip
53 |
54 |
--------------------------------------------------------------------------------
/.github/workflows/updatepot.yml:
--------------------------------------------------------------------------------
1 | name: Update POT
2 | on:
3 | push:
4 | branches: [ master ]
5 | paths-ignore:
6 | - 'locales/**'
7 |
8 | env:
9 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
10 | jobs:
11 | run:
12 |
13 | name: Update POT
14 |
15 | runs-on: ubuntu-latest
16 | steps:
17 | - name: Checkout repo
18 | uses: actions/checkout@v4
19 |
20 | - name: install xgettext
21 |
22 | run: sudo apt-get install gettext;
23 | - name: Update POT
24 | run: sh tools/extract_template.sh;
25 |
26 |
27 | - name: Commit changes
28 | uses: EndBug/add-and-commit@v9
29 | with:
30 | message: "Update POT"
31 | - name: Push changes
32 |
33 | uses: actions-go/push@master
34 |
35 |
--------------------------------------------------------------------------------
/ISSUE_TEMPLATE.md:
--------------------------------------------------------------------------------
1 | Dear GLPi user.
2 |
3 | BEFORE SUBMITTING YOUR ISSUE, please make sure to read and follow these steps :
4 |
5 | * Verify that your question has not already been asked
6 | * Please use the below template.
7 | * Delete this text before submiting your issue.
8 |
9 | The Plugin team.
10 |
11 | ------------
12 | * Version of the plugin :
13 |
14 |
15 | * Version of your GLPI :
16 |
17 |
18 | * Steps to reproduce (which actions have you made) :
19 |
20 |
21 | * Expected result :
22 |
23 |
24 | * Actual result :
25 |
26 |
27 | * URL of the page :
28 |
29 |
30 | * Screenshot of the problem (if pertinent) :
31 |
32 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Plugin Tasklists for GLPI
2 |
3 | 
4 |
5 | This plugin is on Transifex - Help us to translate :
6 | https://www.transifex.com/infotelGLPI/GLPI_tasklists/
7 |
8 | See wiki for use it ? https://github.com/InfotelGLPI/tasklists/wiki
9 |
10 | Adding a management of tasks & a kanban. This plugin adds in GLPI, an interface to add tasks & manage them into a kanban
11 |
12 | Last features :
13 |
14 | - [X] Clone task
15 | - [X] Add comments to tasks
16 | - [X] See authors tasks filter
17 | - [X] See archived tasks filter
18 | - [X] See in progress tasks filter
19 | - [X] Send notifications for add / change / delete task
20 | - [X] Use richtext on tasks
21 | - [X] Add templates by context
22 | - [X] Add entity pre-selection
23 | - [X] Use a default Backlog from list
24 | - [X] Link to tickets
25 | - [X] Preference : context by default
26 | - [X] See percentage of completion from tasks
27 | - [X] Order States
28 | - [X] Add context to States
29 | - [X] Add color to States
30 | - [X] Minimize closed tasks
31 | - [X] Can be used with mail collector to create tasks
32 | - [ ] Add notification for revive user in charge
33 | - [ ] Add min - max by state
34 | - [ ] Add notifications to comments
35 |
36 | For GLPI versions <9.1, for use it with mail collector you must to modify "inc/rulemailcollector.class.php" file, into "executeActions" fonction, into switch : switch ($action->fields["action_type"]), add a default case :
37 |
38 | ```
39 | default:
40 | //plugins actions
41 | $executeaction = clone $this;
42 | $output = $executeaction->executePluginsActions($action, $output, $params);
43 | break;
44 | ```
45 |
--------------------------------------------------------------------------------
/SECURITY.md:
--------------------------------------------------------------------------------
1 | # Security Policy
2 |
3 | ## Supported Versions
4 |
5 | | Version | Supported |
6 | | ------- | ------------------ |
7 | | 2.0.x | :white_check_mark: |
8 |
9 | ## Reporting a Vulnerability
10 |
11 | Please send an email to thetsmr[@]gmail.com
12 |
--------------------------------------------------------------------------------
/TODO.txt:
--------------------------------------------------------------------------------
1 | Add notification for revive user in charge ?
2 | Add min - max by state
3 | Add notifications to comments ?
4 |
5 | **************
6 | ordonner les contextes - pref ?
7 | **************
8 |
9 | GLPI 10
10 |
11 | move teams to specific table for display
12 | Drop context for states
13 | drop clone
14 | drop glpi_plugin_tasklists_stateorders
15 | drop glpi_plugin_tasklists_items_kanbans
16 | drop addoptions.php
17 |
18 | fix see archived
19 |
--------------------------------------------------------------------------------
/ajax/addOptions.php:
--------------------------------------------------------------------------------
1 | 'archive',
39 | 'multiple' => true,
40 | 'values' => json_decode($_SESSION["archive"][Session::getLoginUserID()], true),
41 | "display" => false]);
42 | } else {
43 | $arch = Dropdown::showFromArray("archive", $states, ['id' => 'archive',
44 | 'multiple' => true,
45 | 'value' => 0,
46 | "display" => false]);
47 |
48 | }
49 |
50 | echo json_encode($arch, JSON_FORCE_OBJECT);
51 |
52 | } else if ($_REQUEST['action'] == 'changeArchive') {
53 | if (!empty($_REQUEST['vals']))
54 | $_SESSION["archive"][Session::getLoginUserID()] = json_encode($_REQUEST['vals']);
55 |
56 | }
57 | if ($_REQUEST['action'] == 'addUsers') {
58 |
59 | header("Content-Type: application/json; charset=UTF-8", true);
60 | $users = PluginTasklistsTaskType::findUsers($_REQUEST['context']);
61 |
62 | if (!isset($_SESSION["usersKanban"][Session::getLoginUserID()])) {
63 | $_SESSION["usersKanban"][Session::getLoginUserID()] = json_encode([-1]);
64 | }
65 | if ($_SESSION["usersKanban"][Session::getLoginUserID()] != "" && isset($_SESSION["archive"]) && $_SESSION["archive"][Session::getLoginUserID()] != "null") {
66 | $arch = Dropdown::showFromArray("usersKanban", $users, ['id' => 'users',
67 | 'multiple' => true,
68 | 'values' => json_decode($_SESSION["usersKanban"][Session::getLoginUserID()], true),
69 | "display" => false]);
70 | } else {
71 | $arch = Dropdown::showFromArray("usersKanban", $users, ['id' => 'users',
72 | 'multiple' => true,
73 | 'value' => -1,
74 | "display" => false]);
75 | }
76 |
77 | echo json_encode($arch, JSON_FORCE_OBJECT);
78 |
79 | } else if ($_REQUEST['action'] == 'changeUsers') {
80 | if (!empty($_REQUEST['vals']))
81 | $_SESSION["usersKanban"][Session::getLoginUserID()] = json_encode($_REQUEST['vals']);
82 |
83 | }
84 |
--------------------------------------------------------------------------------
/ajax/contextForm.php:
--------------------------------------------------------------------------------
1 | .
27 | --------------------------------------------------------------------------
28 | */
29 |
30 | include("../../../inc/includes.php");
31 |
32 | Session::checkLoginUser();
33 |
34 | Html::header_nocache();
35 | header("Content-Type: text/html; charset=UTF-8");
36 |
37 | //Html::requireJs('tinymce');
38 | echo "";
39 |
40 | if (isset($_GET['newContext'])) {
41 | $options = [
42 | 'from_edit_ajax' => true,
43 |
44 | 'withtemplate' => 0
45 | ];
46 | $task = new PluginTasklistsTaskState();
47 | $task->showForm(0, $options);
48 |
49 | }
50 | Html::ajaxFooter();
--------------------------------------------------------------------------------
/ajax/dropdownState.php:
--------------------------------------------------------------------------------
1 | .
27 | --------------------------------------------------------------------------
28 | */
29 |
30 | include('../../../inc/includes.php');
31 |
32 | header("Content-Type: text/html; charset=UTF-8");
33 | Html::header_nocache();
34 |
35 | Session::checkLoginUser();
36 |
37 | if (isset($_POST["plugin_tasklists_tasktypes_id"])) {
38 |
39 | PluginTasklistsTask::displayState($_POST['plugin_tasklists_tasktypes_id']);
40 |
41 | }
42 |
--------------------------------------------------------------------------------
/ajax/dropdownTypeTasks.php:
--------------------------------------------------------------------------------
1 | .
27 | --------------------------------------------------------------------------
28 | */
29 |
30 | if (strpos($_SERVER['PHP_SELF'], "dropdownTypeTasks.php")) {
31 | $AJAX_INCLUDE = 1;
32 | include('../../../inc/includes.php');
33 | header("Content-Type: text/html; charset=UTF-8");
34 | Html::header_nocache();
35 | }
36 |
37 | Session::checkCentralAccess();
38 |
39 | global $DB;
40 |
41 | // Make a select box
42 | if (isset($_POST["tasktypes"])) {
43 | $used = [];
44 |
45 | // Clean used array
46 | if (
47 | isset($_POST['used'])
48 | && is_array($_POST['used'])
49 | && (count($_POST['used']) > 0)
50 | ) {
51 | foreach (
52 | $DB->request(
53 | 'glpi_plugin_tasklists_tasks',
54 | [
55 | 'id' => $_POST['used'],
56 | 'plugin_tasklists_tasktypes_id' => $_POST['tasktypes']
57 | ]
58 | ) as $data
59 | ) {
60 | $used[$data['id']] = $data['id'];
61 | }
62 | }
63 |
64 | Dropdown::show(
65 | 'PluginTasklistsTask',
66 | [
67 | 'name' => $_POST['myname'],
68 | 'used' => $used,
69 | 'width' => '50%',
70 | 'entity' => $_POST['entity'],
71 | 'rand' => $_POST['rand'],
72 | 'condition' => ["glpi_plugin_tasklists_tasks.plugin_tasklists_tasktypes_id" => $_POST["tasktypes"]]
73 | ]
74 | );
75 | }
76 |
--------------------------------------------------------------------------------
/ajax/getTaskComment.php:
--------------------------------------------------------------------------------
1 | .
27 | --------------------------------------------------------------------------
28 | */
29 |
30 | include('../../../inc/includes.php');
31 | header("Content-Type: text/html; charset=UTF-8");
32 | Html::header_nocache();
33 |
34 | Session::checkLoginUser();
35 |
36 | if (!isset($_POST['plugin_tasklists_tasks_id'])) {
37 | throw new \RuntimeException('Required argument missing!');
38 | }
39 |
40 | $plugin_tasklists_tasks_id = $_POST['plugin_tasklists_tasks_id'];
41 | $lang = null;
42 | if (isset($_POST['language'])) {
43 | $lang = $_POST['language'];
44 | }
45 |
46 | $edit = false;
47 | if (isset($_POST['edit'])) {
48 | $edit = $_POST['edit'];
49 | }
50 |
51 | $answer = false;
52 | if (isset($_POST['answer'])) {
53 | $answer = $_POST['answer'];
54 | }
55 |
56 | echo PluginTasklistsTask_Comment::getCommentForm($plugin_tasklists_tasks_id, $lang, $edit, $answer);
57 |
--------------------------------------------------------------------------------
/ajax/index.php:
--------------------------------------------------------------------------------
1 | .
27 | --------------------------------------------------------------------------
28 | */
29 |
--------------------------------------------------------------------------------
/ajax/inputEntity.php:
--------------------------------------------------------------------------------
1 | .
27 | --------------------------------------------------------------------------
28 | */
29 |
30 | include('../../../inc/includes.php');
31 |
32 | header("Content-Type: text/html; charset=UTF-8");
33 | Html::header_nocache();
34 |
35 | Session::checkLoginUser();
36 |
37 | if (isset($_POST["entities_id"])) {
38 | echo Html::hidden('entities_id', ['value' => $_POST["entities_id"]]);
39 | }
40 |
--------------------------------------------------------------------------------
/ajax/seetask.php:
--------------------------------------------------------------------------------
1 | .
27 | --------------------------------------------------------------------------
28 | */
29 |
30 | include("../../../inc/includes.php");
31 |
32 | Session::checkLoginUser();
33 |
34 | Html::header_nocache();
35 | header("Content-Type: text/html; charset=UTF-8");
36 |
37 | //Html::requireJs('tinymce');
38 | echo "";
39 |
40 | if (isset($_GET['id'])) {
41 | $options = [
42 | 'from_edit_ajax' => true,
43 | 'id' => $_GET['id'],
44 | 'withtemplate' => 0
45 | ];
46 | echo "
";
49 | echo "
";
50 | $task = new PluginTasklistsTask();
51 | $task->showForm($_GET['id'],$options);
52 | } else if (isset($_GET['plugin_tasklists_tasktypes_id'])
53 | && isset($_GET['plugin_tasklists_taskstates_id'])) {
54 | $options = [
55 | 'from_edit_ajax' => true,
56 | 'plugin_tasklists_tasktypes_id' => $_GET['plugin_tasklists_tasktypes_id'],
57 | 'plugin_tasklists_taskstates_id' => $_GET['plugin_tasklists_taskstates_id'],
58 | 'withtemplate' => 0
59 | ];
60 | $task = new PluginTasklistsTask();
61 | if ($id = $task->hasTemplate($options)) {
62 | $options['withtemplate'] = 2;
63 | $task->showForm($id, $options);
64 | } else {
65 | $task->showForm(0, $options);
66 | }
67 | } else if (isset($_GET['clone_id'])) {
68 | $id = $_GET['clone_id'];
69 | $task = new PluginTasklistsTask();
70 | if ($task->getFromDB($id)) {
71 | $options = [
72 | 'from_edit_ajax' => true,
73 | 'plugin_tasklists_tasktypes_id' => $task->fields['plugin_tasklists_tasktypes_id'],
74 | 'plugin_tasklists_taskstates_id' => $task->fields['plugin_tasklists_taskstates_id'],
75 | 'priority' => $task->fields['priority'],
76 | 'users_id' => Session::getLoginUserID(),
77 | 'groups_id' => $task->fields['groups_id'],
78 | 'client' => $task->fields['client'],
79 | 'entities_id' => $task->fields['entities_id'],
80 | 'visibility' => $task->fields['visibility'],
81 | 'withtemplate' => 0
82 | ];
83 | $taskcloned = new PluginTasklistsTask();
84 | $taskcloned->showForm(0, $options);
85 | }
86 | } else if (isset($_GET['task_id'])) {
87 | $id = $_GET['task_id'];
88 | $task = new PluginTasklistsTask();
89 | if ($task->getFromDB($id)) {
90 | $options = [
91 | 'from_edit_ajax' => true,
92 | //'plugin_tasklists_tasktypes_id' => $task->fields['plugin_tasklists_tasktypes_id'],
93 | //'plugin_tasklists_taskstates_id' => $task->fields['plugin_tasklists_taskstates_id'],
94 | //'priority' => $task->fields['priority'],
95 | //'users_id' => Session::getLoginUserID(),
96 | //'groups_id' => $task->fields['groups_id'],
97 | //'client' => $task->fields['client'],
98 | 'entities_id' => $task->fields['entities_id'],
99 | 'name' => $task->fields['name'],
100 | 'content' => $task->fields['comment'],
101 | 'withtemplate' => 0
102 | ];
103 | $ticket = new Ticket();
104 | $ticket->showForm(0, $options);
105 | }
106 | }
107 | Html::ajaxFooter();
--------------------------------------------------------------------------------
/ajax/updatetask.php:
--------------------------------------------------------------------------------
1 | .
27 | --------------------------------------------------------------------------
28 | */
29 |
30 | include("../../../inc/includes.php");
31 |
32 | Session::checkLoginUser();
33 |
34 | if (isset($_POST['data_id'])
35 | && isset($_POST['percent_done'])) {
36 | $task = new PluginTasklistsTask();
37 | $input['percent_done'] = $_POST['percent_done'];
38 | $input['id'] = $_POST['data_id'];
39 | $task->update($input);
40 |
41 | } else if (isset($_POST['data_id'])
42 | && isset($_POST['updatepriority'])) {
43 | $task = new PluginTasklistsTask();
44 | if ($task->getFromDB($_POST['data_id'])) {
45 | if ($task->fields["priority"] < 5) {
46 | $input['priority'] = $task->fields["priority"] + 1;
47 | }
48 | $input['id'] = $_POST['data_id'];
49 | $task->update($input);
50 | }
51 | } else if (isset($_POST['data_id'])
52 | && isset($_POST['archivetask'])) {
53 | $task = new PluginTasklistsTask();
54 | $input['is_archived'] = 1;
55 | $input['id'] = $_POST['data_id'];
56 | $task->update($input);
57 |
58 | } else if (isset($_POST['archivealltasks'])
59 | && isset($_POST['state_id'])
60 | && isset($_POST['context_id'])) {
61 |
62 | $task = new PluginTasklistsTask();
63 | $dbu = new DbUtils();
64 | $cond = ["plugin_tasklists_taskstates_id" => $_POST['state_id'],
65 | "plugin_tasklists_tasktypes_id" => $_POST['context_id'],
66 | "is_deleted" => 0,
67 | "is_archived" => 0];
68 | $tasks = $dbu->getAllDataFromTable($dbu->getTableForItemType('PluginTasklistsTasks'),
69 | $cond);
70 | foreach ($tasks as $key => $row) {
71 | if ($task->getFromDB($row['id'])) {
72 | $input['is_archived'] = 1;
73 | $input['id'] = $row['id'];
74 | $task->update($input);
75 | }
76 | }
77 | }
78 |
--------------------------------------------------------------------------------
/front/comment.form.php:
--------------------------------------------------------------------------------
1 | .
27 | --------------------------------------------------------------------------
28 | */
29 |
30 | include('../../../inc/includes.php');
31 |
32 | if (!isset($_GET["id"])) {
33 | $_GET["id"] = "";
34 | }
35 | if (!isset($_GET["withtemplate"])) {
36 | $_GET["withtemplate"] = "";
37 | }
38 |
39 | Html::header(PluginTasklistsTask::getTypeName(2), '', "helpdesk", "plugintasklistsmenu");
40 |
41 | $task = new PluginTasklistsTask();
42 | $task->checkGlobal(READ);
43 | $task->getFromDB($_GET['id']);
44 | $note = new Notepad();
45 | $note->showForItem($task);
46 |
47 | Html::footer();
48 |
--------------------------------------------------------------------------------
/front/index.php:
--------------------------------------------------------------------------------
1 | .
27 | --------------------------------------------------------------------------
28 | */
29 |
--------------------------------------------------------------------------------
/front/kanban.php:
--------------------------------------------------------------------------------
1 | .
27 | --------------------------------------------------------------------------
28 | */
29 |
30 | include('../../../inc/includes.php');
31 |
32 | Html::header(PluginTasklistsTask::getTypeName(2), '', "helpdesk", "plugintasklistsmenu");
33 |
34 | $kanban = new PluginTasklistsKanban();
35 |
36 | if ($kanban->canView() || Session::haveRight("config", CREATE)) {
37 | //AS module for SearchTokenizer
38 | // echo "";
39 | echo "";
40 | Html::requireJs('sortable');
41 | Html::requireJs('kanban');
42 | echo Html::css(PLUGIN_TASKLISTS_NOTFULL_DIR . '/lib/kanban/css/kanban.css');
43 | // echo Html::script(PLUGIN_TASKLISTS_NOTFULL_DIR . "/lib/kanban/js/kanban-actions.js");
44 | if (!isset($_GET["context_id"])) {
45 | $_GET["context_id"] = -1;
46 | }
47 | PluginTasklistsKanban::showKanban($_GET["context_id"]);
48 |
49 | } else {
50 | Html::displayRightError();
51 | }
52 |
53 | Html::footer();
54 |
--------------------------------------------------------------------------------
/front/preference.form.php:
--------------------------------------------------------------------------------
1 | .
27 | --------------------------------------------------------------------------
28 | */
29 |
30 | include('../../../inc/includes.php');
31 |
32 | Session::checkLoginUser();
33 |
34 | //Save user preferences
35 | if (isset ($_POST['update'])) {
36 | $pref = new PluginTasklistsPreference();
37 | $pref->check(-1, UPDATE, $_POST);
38 | $pref->update($_POST);
39 | Html::back();
40 | }
41 |
--------------------------------------------------------------------------------
/front/setup.templates.php:
--------------------------------------------------------------------------------
1 | .
27 | --------------------------------------------------------------------------
28 | */
29 |
30 | include('../../../inc/includes.php');
31 |
32 | $task = new PluginTasklistsTask();
33 |
34 | if ($task->canView() || Session::haveRight("config", UPDATE)) {
35 | Html::header(PluginTasklistsTask::getTypeName(2), '', "helpdesk", "plugintasklistsmenu");
36 |
37 | $task->listOfTemplates(PLUGIN_TASKLISTS_WEBDIR . "/front/task.form.php", $_GET["add"]);
38 |
39 | Html::footer();
40 | }
41 |
--------------------------------------------------------------------------------
/front/task.form.php:
--------------------------------------------------------------------------------
1 | .
27 | --------------------------------------------------------------------------
28 | */
29 |
30 | include('../../../inc/includes.php');
31 |
32 | Session::checkRight("plugin_tasklists", READ);
33 |
34 | if (!isset($_GET["id"])) {
35 | $_GET["id"] = "";
36 | }
37 | if (!isset($_GET["withtemplate"])) {
38 | $_GET["withtemplate"] = "";
39 | }
40 |
41 | $task = new PluginTasklistsTask();
42 |
43 | if (isset($_POST["add"])) {
44 | $task->check(-1, CREATE, $_POST);
45 | $newID = $task->add($_POST);
46 | //if ($_SESSION['glpibackcreated']) {
47 | // Html::redirect($task->getFormURL() . "?id=" . $newID);
48 | //}
49 | Html::back();
50 | } else if (isset($_POST["delete"])) {
51 | $task->check($_POST['id'], DELETE);
52 | $task->delete($_POST);
53 | if (!isset($_POST["from_edit_ajax"])) {
54 | $task->redirectToList();
55 | } else {
56 | Html::back();
57 | }
58 |
59 | } else if (isset($_POST["restore"])) {
60 | $task->check($_POST['id'], PURGE);
61 | $task->restore($_POST);
62 | $task->redirectToList();
63 |
64 | } else if (isset($_POST["purge"])) {
65 | $task->check($_POST['id'], PURGE);
66 | $task->delete($_POST, 1);
67 | if (!isset($_POST["from_edit_ajax"])) {
68 | $task->redirectToList();
69 | } else {
70 | Html::back();
71 | }
72 |
73 | } else if (isset($_POST["update"])) {
74 | $task->check($_POST['id'], UPDATE);
75 | $task->update($_POST);
76 | Html::back();
77 |
78 | } else if (isset($_POST["done"])) {
79 | $task->check($_POST['id'], UPDATE);
80 | $options['id'] = $_POST['id'];
81 | $options['state'] = 2;
82 | $options['percent_done'] = 100;
83 | $task->update($options);
84 | Html::back();
85 |
86 | } else if (isset($_POST["ticket_link"])) {
87 |
88 | $ticket = new PluginTasklistsTicket();
89 | $task = new PluginTasklistsTask();
90 | $task->check($_POST['plugin_tasklists_tasks_id'], UPDATE);
91 | $ticket->add(['tickets_id' => $_POST['tickets_id'],
92 | 'plugin_tasklists_tasks_id' => $_POST['plugin_tasklists_tasks_id']]);
93 | Html::back();
94 |
95 | } else {
96 |
97 | $task->checkGlobal(READ);
98 |
99 | Html::header(PluginTasklistsTask::getTypeName(2), '', "helpdesk", "plugintasklistsmenu");
100 |
101 | Html::requireJs('tinymce');
102 | $task->display(['id' => $_GET["id"], 'withtemplate' => $_GET["withtemplate"]]);
103 |
104 | Html::footer();
105 | }
106 |
--------------------------------------------------------------------------------
/front/task.php:
--------------------------------------------------------------------------------
1 | .
27 | --------------------------------------------------------------------------
28 | */
29 |
30 | include('../../../inc/includes.php');
31 |
32 | Html::header(PluginTasklistsTask::getTypeName(2), '', "helpdesk", "plugintasklistsmenu");
33 |
34 | $task = new PluginTasklistsTask();
35 |
36 | if ($task->canView() || Session::haveRight("config", CREATE)) {
37 |
38 | Search::show("PluginTasklistsTask");
39 |
40 | } else {
41 | Html::displayRightError();
42 | }
43 |
44 | Html::footer();
45 |
--------------------------------------------------------------------------------
/front/task_comment.form.php:
--------------------------------------------------------------------------------
1 | .
27 | --------------------------------------------------------------------------
28 | */
29 |
30 | use Glpi\Event;
31 |
32 | include('../../../inc/includes.php');
33 |
34 | Session::checkLoginUser();
35 |
36 | $comment = new PluginTasklistsTask_Comment();
37 | if (!isset($_POST['plugin_tasklists_tasks_id'])) {
38 | $message = __('Mandatory fields are not filled!');
39 | Session::addMessageAfterRedirect($message, false, ERROR);
40 | Html::back();
41 | }
42 | $task = new PluginTasklistsTask();
43 | $task->getFromDB($_POST['plugin_tasklists_tasks_id']);
44 | //if (!$task->canComment()) {
45 | // Html::displayRightError();
46 | //}
47 |
48 | if (isset($_POST["add"])) {
49 | if (!isset($_POST['plugin_tasklists_tasks_id']) || !isset($_POST['comment'])) {
50 | $message = __('Mandatory fields are not filled!');
51 | Session::addMessageAfterRedirect($message, false, ERROR);
52 | Html::back();
53 | }
54 |
55 | if ($newid = $comment->add($_POST)) {
56 | Session::addMessageAfterRedirect(
57 | "" . __('Your comment has been added') . "",
58 | false,
59 | INFO
60 | );
61 | }
62 | Html::back();
63 | }
64 |
65 | if (isset($_POST["edit"])) {
66 | if (!isset($_POST['plugin_tasklists_tasks_id']) || !isset($_POST['id']) || !isset($_POST['comment'])) {
67 | $message = __('Mandatory fields are not filled!');
68 | Session::addMessageAfterRedirect($message, false, ERROR);
69 | Html::back();
70 | }
71 |
72 | $comment->getFromDB($_POST['id']);
73 | $data = array_merge($comment->fields, $_POST);
74 | if ($comment->update($data)) {
75 | Session::addMessageAfterRedirect(
76 | "" . __('Your comment has been edited') . "",
77 | false,
78 | INFO
79 | );
80 | }
81 | Html::back();
82 | }
83 |
84 | Html::displayErrorAndDie("lost");
85 |
--------------------------------------------------------------------------------
/front/taskstate.form.php:
--------------------------------------------------------------------------------
1 | .
27 | --------------------------------------------------------------------------
28 | */
29 |
30 |
31 | include('../../../inc/includes.php');
32 |
33 | Session::checkRight("plugin_tasklists", READ);
34 |
35 | if (!isset($_GET["id"])) {
36 | $_GET["id"] = "";
37 | }
38 | if (!isset($_GET["withtemplate"])) {
39 | $_GET["withtemplate"] = "";
40 | }
41 |
42 | $task = new PluginTasklistsTaskState();
43 |
44 | if (isset($_POST["add"])) {
45 | $task->check(-1, CREATE, $_POST);
46 | $newID = $task->add($_POST);
47 | if (!isset($_POST["from_edit_ajax"])) {
48 | Html::redirect($task->getFormURL() . "?id=" . $newID);
49 | } else {
50 | Html::back();
51 | }
52 |
53 | } else if (isset($_POST["delete"])) {
54 | $task->check($_POST['id'], DELETE);
55 | $task->delete($_POST);
56 | if (!isset($_POST["from_edit_ajax"])) {
57 | $task->redirectToList();
58 | } else {
59 | Html::back();
60 | }
61 |
62 | } else if (isset($_POST["restore"])) {
63 | $task->check($_POST['id'], PURGE);
64 | $task->restore($_POST);
65 | $task->redirectToList();
66 |
67 | } else if (isset($_POST["purge"])) {
68 | $task->check($_POST['id'], PURGE);
69 | $task->delete($_POST, 1);
70 | if (!isset($_POST["from_edit_ajax"])) {
71 | $task->redirectToList();
72 | } else {
73 | Html::back();
74 | }
75 |
76 | } else if (isset($_POST["update"])) {
77 | $task->check($_POST['id'], UPDATE);
78 | $task->update($_POST);
79 | Html::back();
80 |
81 | } else if (isset($_POST["done"])) {
82 | $task->check($_POST['id'], UPDATE);
83 | $options['id'] = $_POST['id'];
84 | $options['state'] = 2;
85 | $options['percent_done'] = 100;
86 | $task->update($options);
87 | Html::back();
88 |
89 | } else if (isset($_POST["ticket_link"])) {
90 |
91 | $ticket = new PluginTasklistsTicket();
92 | $task = new PluginTasklistsTask();
93 | $task->check($_POST['plugin_tasklists_tasks_id'], UPDATE);
94 | $ticket->add(['tickets_id' => $_POST['tickets_id'],
95 | 'plugin_tasklists_tasks_id' => $_POST['plugin_tasklists_tasks_id']]);
96 | Html::back();
97 |
98 | } else {
99 |
100 | $task->checkGlobal(READ);
101 |
102 | Html::header(PluginTasklistsTask::getTypeName(2), '', "helpdesk", "plugintasklistsmenu");
103 |
104 | Html::requireJs('tinymce');
105 | $task->display(['id' => $_GET["id"], 'withtemplate' => $_GET["withtemplate"]]);
106 |
107 | Html::footer();
108 | }
109 |
--------------------------------------------------------------------------------
/front/taskstate.php:
--------------------------------------------------------------------------------
1 | .
27 | --------------------------------------------------------------------------
28 | */
29 |
30 | include('../../../inc/includes.php');
31 |
32 | $dropdown = new PluginTasklistsTaskState();
33 | include(GLPI_ROOT . "/front/dropdown.common.php");
34 |
--------------------------------------------------------------------------------
/front/tasktype.form.php:
--------------------------------------------------------------------------------
1 | .
27 | --------------------------------------------------------------------------
28 | */
29 |
30 | include('../../../inc/includes.php');
31 |
32 | $dropdown = new PluginTasklistsTaskType();
33 | include(GLPI_ROOT . "/front/dropdown.common.form.php");
34 |
--------------------------------------------------------------------------------
/front/tasktype.php:
--------------------------------------------------------------------------------
1 | .
27 | --------------------------------------------------------------------------
28 | */
29 |
30 | include('../../../inc/includes.php');
31 |
32 | $dropdown = new PluginTasklistsTaskType();
33 | include(GLPI_ROOT . "/front/dropdown.common.php");
34 |
--------------------------------------------------------------------------------
/front/ticket.form.php:
--------------------------------------------------------------------------------
1 | .
27 | --------------------------------------------------------------------------
28 | */
29 | include('../../../inc/includes.php');
30 |
31 | Session::checkLoginUser();
32 |
33 | $ticket = new PluginTasklistsTicket();
34 | if (isset($_POST["add"])) {
35 | $ticket->check(-1, CREATE, $_POST);
36 |
37 | $ticket->add($_POST);
38 | Html::back();
39 |
40 | }
41 |
42 | Html::displayErrorAndDie("lost");
43 |
--------------------------------------------------------------------------------
/front/typevisibility.form.php:
--------------------------------------------------------------------------------
1 | .
27 | --------------------------------------------------------------------------
28 | */
29 |
30 | include('../../../inc/includes.php');
31 |
32 | $group = new PluginTasklistsTypeVisibility();
33 |
34 | if (isset($_POST["add_groups"])) {
35 | $group->check(-1, UPDATE, $_POST);
36 | //add groups
37 | foreach ($_POST['groups_id'] as $groups_id) {
38 | $group->add(['groups_id' => $groups_id,
39 | 'plugin_tasklists_tasktypes_id' => $_POST['plugin_tasklists_tasktypes_id']]);
40 | }
41 | Html::back();
42 | }
--------------------------------------------------------------------------------
/inc/index.php:
--------------------------------------------------------------------------------
1 | .
27 | --------------------------------------------------------------------------
28 | */
29 |
--------------------------------------------------------------------------------
/inc/item_kanban.class.php:
--------------------------------------------------------------------------------
1 | .
31 | * ---------------------------------------------------------------------
32 | */
33 |
34 | class PluginTasklistsItem_Kanban extends CommonDBRelation {
35 |
36 | static public $itemtype_1 = 'itemtype';
37 | static public $items_id_1 = 'items_id';
38 | static public $itemtype_2 = 'User';
39 | static public $items_id_2 = 'users_id';
40 | static public $checkItem_1_Rights = 'plugin_tasklists';
41 |
42 |
43 | /**
44 | * Load the state of a Kanban's column for a specific kanban for the current user
45 | *
46 | * @param string $itemtype Type of the item.
47 | * @param int $items_id ID of the item.
48 | * @param int $plugin_tasklists_taskstates_id column id
49 | * @param string $timestamp Timestamp string of last check or null to always get the state.
50 | *
51 | * @return return the state of the collummn for the user
52 | * if the state doesn't exist it is created
53 | * @since 9.5.0
54 | */
55 | static function loadStateForItem($itemtype, $items_id, $plugin_tasklists_taskstates_id, $timestamp = null) {
56 | global $DB;
57 |
58 |
59 | $item = new self();
60 | if ($item->getFromDBByCrit([
61 | 'users_id' => Session::getLoginUserID(),
62 | 'itemtype' => $itemtype,
63 | 'items_id' => $items_id,
64 | 'plugin_tasklists_taskstates_id' => $plugin_tasklists_taskstates_id
65 | ])) {
66 | return $item->getField('state');
67 |
68 | } else {
69 | $input = [
70 | 'users_id' => Session::getLoginUserID(),
71 | 'itemtype' => $itemtype,
72 | 'items_id' => $items_id,
73 | 'state' => false,
74 | 'plugin_tasklists_taskstates_id' => $plugin_tasklists_taskstates_id,
75 | 'date_creation' => $_SESSION['glpi_currenttime'],
76 | 'date_mod' => $_SESSION['glpi_currenttime']
77 | ];
78 | $item->add($input);
79 | return false;
80 | }
81 | }
82 |
83 |
84 | static function collapseColumn($itemtype, $items_id, $column) {
85 | $item = new self();
86 | $item->getFromDBByCrit([
87 | 'users_id' => Session::getLoginUserID(),
88 | 'itemtype' => $itemtype,
89 | 'items_id' => $items_id,
90 | 'plugin_tasklists_taskstates_id' => $column
91 | ]);
92 | $input = $item->fields;
93 | $input["state"] = true;
94 | $input["date_mod"] = $_SESSION['glpi_currenttime'];
95 | $item->update($input);
96 | }
97 |
98 | static function expandColumn($itemtype, $items_id, $column) {
99 |
100 | $item = new self();
101 | $item->getFromDBByCrit([
102 | 'users_id' => Session::getLoginUserID(),
103 | 'itemtype' => $itemtype,
104 | 'items_id' => $items_id,
105 | 'plugin_tasklists_taskstates_id' => $column
106 | ]);
107 | $input = $item->fields;
108 | $input["state"] = false;
109 | $input["date_mod"] = $_SESSION['glpi_currenttime'];
110 | $item->update($input);
111 | }
112 | }
--------------------------------------------------------------------------------
/inc/menu.class.php:
--------------------------------------------------------------------------------
1 | .
28 | --------------------------------------------------------------------------
29 | */
30 |
31 |
32 | /**
33 | * Class PluginTasklistsMenu
34 | */
35 | class PluginTasklistsMenu extends CommonGLPI {
36 | static $rightname = 'plugin_tasklists';
37 |
38 | /**
39 | * @param int $nb
40 | *
41 | * @return translated
42 | */
43 | static function getMenuName($nb = 1) {
44 | return __('Tasks list', 'tasklists');
45 | }
46 |
47 | /**
48 | * @return array
49 | */
50 | static function getMenuContent() {
51 |
52 | $url = "";
53 | $default_context = 0;
54 | if (class_exists("PluginTasklistsPreference")) {
55 | $default_context = PluginTasklistsPreference::checkDefaultType(Session::getLoginUserID());
56 | }
57 | if ($default_context > 0) {
58 | $url = "?itemtype=PluginTasklistsKanban&glpi_tab=PluginTasklistsKanban$" . $default_context;
59 | }
60 |
61 | $menu = [];
62 | $menu['title'] = self::getMenuName(2);
63 | $menu['page'] = PluginTasklistsKanban::getSearchURL(false) ;
64 |
65 | $menu['links']['search'] = PluginTasklistsTask::getSearchURL(false);
66 | if (PluginTasklistsTask::canCreate()) {
67 | $menu['links']['add'] = PLUGIN_TASKLISTS_NOTFULL_DIR.'/front/setup.templates.php?add=1';
68 | $menu['links']['template'] = PLUGIN_TASKLISTS_NOTFULL_DIR.'/front/setup.templates.php?add=0';
69 | }
70 | $menu['links']['summary'] = PluginTasklistsKanban::getSearchURL(false);
71 |
72 | $menu['icon'] = self::getIcon();
73 |
74 | return $menu;
75 | }
76 |
77 | /**
78 | * @return string
79 | */
80 | static function getIcon() {
81 | return "ti ti-layout-kanban";
82 | }
83 |
84 | static function removeRightsFromSession() {
85 | if (isset($_SESSION['glpimenu']['helpdesk']['types']['PluginTasklistsMenu'])) {
86 | unset($_SESSION['glpimenu']['helpdesk']['types']['PluginTasklistsMenu']);
87 | }
88 | if (isset($_SESSION['glpimenu']['helpdesk']['content']['plugintasklistsmenu'])) {
89 | unset($_SESSION['glpimenu']['helpdesk']['content']['plugintasklistsmenu']);
90 | }
91 | }
92 | }
93 |
--------------------------------------------------------------------------------
/inc/preference.class.php:
--------------------------------------------------------------------------------
1 | .
27 | --------------------------------------------------------------------------
28 | */
29 |
30 | /**
31 | * Class PluginTasklistsPreference
32 | */
33 | class PluginTasklistsPreference extends CommonDBTM {
34 |
35 | static $rightname = 'plugin_tasklists';
36 |
37 | /**
38 | * @param CommonGLPI $item
39 | * @param int $withtemplate
40 | *
41 | * @return string|translated
42 | */
43 | function getTabNameForItem(CommonGLPI $item, $withtemplate = 0) {
44 | if (Session::haveRight('plugin_tasklists', READ)
45 | && $item->getType() == 'Preference') {
46 | return __('Tasks list', 'tasklists');
47 | }
48 | return '';
49 | }
50 |
51 | /**
52 | * @return string
53 | */
54 | static function getIcon() {
55 | return PluginTasklistsTask::getIcon();
56 | }
57 |
58 |
59 | /**
60 | * @param CommonGLPI $item
61 | * @param int $tabnum
62 | * @param int $withtemplate
63 | *
64 | * @return bool
65 | */
66 | static function displayTabContentForItem(CommonGLPI $item, $tabnum = 1, $withtemplate = 0) {
67 | $pref = new self();
68 | $pref->showPreferenceForm(Session::getLoginUserID());
69 | return true;
70 | }
71 |
72 | /**
73 | * @param $user_id
74 | */
75 | function showPreferenceForm($user_id) {
76 | //If user has no preferences yet, we set default values
77 | if (!$this->getFromDB($user_id)) {
78 | $this->initPreferences($user_id);
79 | $this->getFromDB($user_id);
80 | }
81 |
82 | //Preferences are not deletable
83 | $options['candel'] = false;
84 | $options['colspan'] = 1;
85 |
86 | $this->showFormHeader($options);
87 |
88 | echo "" . __("Context by default", "tasklists") . " | ";
89 | echo "";
90 | $types = PluginTasklistsTypeVisibility::seeAllowedTypes();
91 | Dropdown::show('PluginTasklistsTaskType', ['name' => "default_type",
92 | 'value' => $this->fields['default_type'],
93 | 'condition' => ["id" => $types]]);
94 | echo " | ";
95 | echo "
";
96 | echo "" . __("Automatic refreshing of tasklist", "tasklists") . " | ";
97 | echo "";
98 | Dropdown::showYesNo("automatic_refresh", $this->fields['automatic_refresh']);
99 | echo " | ";
100 | echo "
";
101 |
102 | echo "" . __("Refresh every ", "tasklists") . " | ";
103 | echo "";
104 | Dropdown::showFromArray("automatic_refresh_delay", [1 => 1, 2 => 2, 5 => 5, 10 => 10, 30 => 30, 60 => 60],
105 | ["value" => $this->fields['automatic_refresh_delay']]);
106 | echo " " . __('minute(s)', "mydashboard");
107 | echo " | ";
108 | echo "
";
109 |
110 | $this->showFormButtons($options);
111 | }
112 |
113 | /**
114 | * @param $users_id
115 | */
116 | public function initPreferences($users_id) {
117 |
118 | $input = [];
119 | $input['id'] = $users_id;
120 | $input['default_type'] = "0";
121 | $this->add($input);
122 |
123 | }
124 |
125 | /**
126 | * @param $users_id
127 | *
128 | * @return int
129 | */
130 | public static function checkDefaultType($users_id) {
131 | return self::checkPreferenceValue('default_type', $users_id);
132 | }
133 |
134 | /**
135 | * @param $field
136 | * @param int $users_id
137 | *
138 | * @return int
139 | */
140 | public static function checkPreferenceValue($field, $users_id = 0) {
141 | $dbu = new DbUtils();
142 | $data = $dbu->getAllDataFromTable($dbu->getTableForItemType(__CLASS__), ["id" => $users_id]);
143 | if (!empty($data)) {
144 | $first = array_pop($data);
145 | if ($field != "default_type") {
146 | return $first[$field];
147 | }
148 | if ($first[$field] > 0) {
149 | return $first[$field];
150 | } else {
151 | $values = PluginTasklistsTaskType::getAllForKanban();
152 | $data = [];
153 | foreach ($values as $key => $value) {
154 | if (PluginTasklistsTypeVisibility::isUserHaveRight($key)) {
155 | $data[] = $key;
156 | }
157 | }
158 | if (!empty($data)) {
159 | $first = reset($data);
160 | return $first;
161 | } else {
162 | return 0;
163 | }
164 | }
165 | } else {
166 | $values = PluginTasklistsTaskType::getAllForKanban();
167 | $data = [];
168 | foreach ($values as $key => $value) {
169 | if (PluginTasklistsTypeVisibility::isUserHaveRight($key)) {
170 | $data[] = $key;
171 | }
172 | }
173 | if (!empty($data)) {
174 | $first = reset($data);
175 | return $first;
176 | } else {
177 | return 0;
178 | }
179 | }
180 | }
181 | }
182 |
--------------------------------------------------------------------------------
/index.php:
--------------------------------------------------------------------------------
1 | .
27 | --------------------------------------------------------------------------
28 | */
29 |
--------------------------------------------------------------------------------
/lib/jquery-ui/images/ui-icons_444444_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/InfotelGLPI/tasklists/db68fda7243a85b5ce72dad27eb2c6cf2ea307c0/lib/jquery-ui/images/ui-icons_444444_256x240.png
--------------------------------------------------------------------------------
/lib/jquery-ui/images/ui-icons_555555_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/InfotelGLPI/tasklists/db68fda7243a85b5ce72dad27eb2c6cf2ea307c0/lib/jquery-ui/images/ui-icons_555555_256x240.png
--------------------------------------------------------------------------------
/lib/jquery-ui/images/ui-icons_777620_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/InfotelGLPI/tasklists/db68fda7243a85b5ce72dad27eb2c6cf2ea307c0/lib/jquery-ui/images/ui-icons_777620_256x240.png
--------------------------------------------------------------------------------
/lib/jquery-ui/images/ui-icons_777777_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/InfotelGLPI/tasklists/db68fda7243a85b5ce72dad27eb2c6cf2ea307c0/lib/jquery-ui/images/ui-icons_777777_256x240.png
--------------------------------------------------------------------------------
/lib/jquery-ui/images/ui-icons_cc0000_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/InfotelGLPI/tasklists/db68fda7243a85b5ce72dad27eb2c6cf2ea307c0/lib/jquery-ui/images/ui-icons_cc0000_256x240.png
--------------------------------------------------------------------------------
/lib/jquery-ui/images/ui-icons_ffffff_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/InfotelGLPI/tasklists/db68fda7243a85b5ce72dad27eb2c6cf2ea307c0/lib/jquery-ui/images/ui-icons_ffffff_256x240.png
--------------------------------------------------------------------------------
/lib/kanban/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2017 craig-davey96
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/lib/kanban/README.md:
--------------------------------------------------------------------------------
1 | # Kanban-jQuery
2 | # https://github.com/craig-davey96/Kanban-jQuery
3 | Kanban Board jQuery Plugin
4 |
5 | # Requirements
6 |
7 | 1. jQuery v3.2.1+ (https://jquery.com/download/)
8 | 2. jQuery UI v1.12.1+ (https://jqueryui.com/)
9 |
10 | # Example
11 |
12 | Include styles and script
13 | ```html
14 |
15 |
16 | ```
17 |
18 | Example of the HTML element
19 | ```html
20 |
21 | ```
22 |
23 | Example of the javascript call to create a Kanban Board
24 | ```js
25 | $('#kanban').kanban({
26 | titles: ['Task' , 'Estimate' , 'Complete' , 'Invoiced' , 'Paid'],
27 | colours: ['#00aaff','#ff921d','#00ff40','#ffe54b','#8454ff'],
28 | items: [
29 | {
30 | id: 1,
31 | title: 'Test',
32 | block: 'Task',
33 | link: '[URL]',
34 | link_text: 'TEST001',
35 | footer: ' 1 1/4
'
36 | },
37 | {
38 | id: 2,
39 | title: 'Test 2',
40 | block: 'Estimate',
41 | footer: ' 1 1/4
'
42 | },
43 | {
44 | id: 3,
45 | title: 'Test 3',
46 | block: 'Estimate',
47 | footer: ' 1 1/4
'
48 | },
49 | {
50 | id: 4,
51 | title: 'Test 5',
52 | block: 'Estimate',
53 | footer: ' 1 1/4
'
54 | },
55 | {
56 | id: 5,
57 | title: 'Test 5',
58 | block: 'Estimate',
59 | footer: ' 1 1/4
'
60 | },
61 | ]
62 | });
63 | ```
64 |
--------------------------------------------------------------------------------
/lib/kanban/images/dragger.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/InfotelGLPI/tasklists/db68fda7243a85b5ce72dad27eb2c6cf2ea307c0/lib/kanban/images/dragger.png
--------------------------------------------------------------------------------
/lib/kanban/js/kanban-actions.js:
--------------------------------------------------------------------------------
1 | $(document.body).on("kanban:post_build_toolbar", "#kanban", () => {
2 |
3 | var datas = $("#kanban").data('js_class');
4 | var kcolumns = datas.columns;
5 | // console.log(datas);
6 |
7 | //Infotel add link on toolbar for archive all tasks on this column
8 | $.each(kcolumns, function( index, value ) {
9 | var finishState = value.finished;
10 | if (datas.rights.canCreateItem) {
11 | if (finishState === 1) {
12 | var archive_all_tasks = __('Archive all tasks of this state', 'tasklists');
13 | // datas.toolbar_el = "";
14 | }
15 | }
16 | });
17 |
18 | // this.root_taslists = PLUGIN_TASKLISTS_WEBDIR + "/ajax/";
19 | // self.tasklist_root = self.root_taslists + "/ajax/";
20 |
21 | // var archiveColumnTask = function (column) {
22 | // var archivealltasks = 1;
23 | // var state_id = column;
24 | // var context_id = self.item.items_id;
25 | // var data = {archivealltasks, state_id, context_id};
26 | // var alert_archive_all_tasks = __('Are you sure you want to archive all tasks ?', 'tasklists');
27 | // if (confirm(alert_archive_all_tasks)) {
28 | // $.ajax({
29 | // data: data,
30 | // type: 'POST',
31 | // url: (self.tasklist_root + "updatetask.php"),
32 | // success: function (data) {
33 | // self.refresh();
34 | // }
35 | // });
36 | // }
37 | // };
38 | });
39 |
40 | $(document.body).on("kanban:post_build", "#kanban", () => {
41 |
42 | //Infotel add card background
43 | //
46 |
47 |
48 | //Infotel add link for update priority & archive task
49 | // let link = "";
50 | // if (card.finished == 1 && card.archived == 0) {
51 | // let title_archive = __('Archive this task', 'tasklists');
52 | // link += ' ';
53 | // }
54 | // if (card.finished == 0 && card.priority_id < self.max_priority) {
55 | // let title_priority = __('Update priority of task', 'tasklists');
56 | // link += '';
57 | // }
58 | // card_el += link;
59 |
60 | // $("a#archivetask" + items_id).click(function () {
61 | // var archivetask = 1;
62 | // var data_id = items_id;
63 | // var data = {archivetask, data_id};
64 | // let title_archive = __('Are you sure you want to archive this task ?', 'tasklists');
65 | // if (confirm(title_archive)) {
66 | // $.ajax({
67 | // data: data,
68 | // type: 'POST',
69 | // url: (self.tasklist_root + "updatetask.php"),
70 | // success: function (data) {
71 | // self.refresh();
72 | // }
73 | // });
74 | // }
75 | // });
76 | // $("a#updatepriority" + items_id).click(function () {
77 | // var updatepriority = 1;
78 | // var data_id = items_id;
79 | // var data = {updatepriority, data_id};
80 | // $.ajax({
81 | // data: data,
82 | // type: 'POST',
83 | // url: (self.tasklist_root + "updatetask.php"),
84 | // success: function (data) {
85 | // self.refresh();
86 | // }
87 | // });
88 | // });
89 | });
90 |
--------------------------------------------------------------------------------
/locales/cs_CZ.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/InfotelGLPI/tasklists/db68fda7243a85b5ce72dad27eb2c6cf2ea307c0/locales/cs_CZ.mo
--------------------------------------------------------------------------------
/locales/cs_CZ.po:
--------------------------------------------------------------------------------
1 | # SOME DESCRIPTIVE TITLE.
2 | # Copyright (C) YEAR Tasklists Development Team
3 | # This file is distributed under the same license as the GLPI - Tasklists plugin package.
4 | # FIRST AUTHOR , YEAR.
5 | #
6 | # Translators:
7 | # Pavel Borecki , 2018
8 | #
9 | #, fuzzy
10 | msgid ""
11 | msgstr ""
12 | "Project-Id-Version: GLPI - Tasklists plugin 1.4.0\n"
13 | "Report-Msgid-Bugs-To: \n"
14 | "POT-Creation-Date: 2020-07-20 15:07+0200\n"
15 | "PO-Revision-Date: 2017-10-18 16:45+0000\n"
16 | "Last-Translator: Pavel Borecki , 2018\n"
17 | "Language-Team: Czech (Czech Republic) (https://www.transifex.com/infotelGLPI/teams/79675/cs_CZ/)\n"
18 | "MIME-Version: 1.0\n"
19 | "Content-Type: text/plain; charset=UTF-8\n"
20 | "Content-Transfer-Encoding: 8bit\n"
21 | "Language: cs_CZ\n"
22 | "Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
23 |
24 | #: setup.php:89 inc/dashboard.class.php:58 inc/dashboard.class.php:178
25 | #: inc/dashboard.class.php:183 inc/menu.class.php:44
26 | #: inc/preference.class.php:46 inc/profile.class.php:52
27 | msgid "Tasks list"
28 | msgstr "Seznam úkolů"
29 |
30 | #: ajax/addOptions.php:31
31 | msgid "Not archived"
32 | msgstr ""
33 |
34 | #: ajax/addOptions.php:32 inc/task.class.php:181 inc/task.class.php:599
35 | msgid "Archived"
36 | msgstr "Archivováno"
37 |
38 | #: inc/dashboard.class.php:93 inc/task.class.php:80 inc/task.class.php:418
39 | #: inc/taskstate.class.php:100 inc/taskstate.class.php:152
40 | #: inc/tasktype.class.php:48
41 | msgid "Context"
42 | msgid_plural "Contexts"
43 | msgstr[0] "Kontext"
44 | msgstr[1] "Kontexty"
45 | msgstr[2] "Kontextů"
46 | msgstr[3] "Kontexty"
47 |
48 | #: inc/dashboard.class.php:93 inc/notificationtargettask.class.php:203
49 | #: inc/notificationtargettask.class.php:247 inc/task.class.php:118
50 | #: inc/task.class.php:496 inc/tasktype.class.php:256
51 | msgid "Due date"
52 | msgstr "Termín"
53 |
54 | #: inc/dashboard.class.php:164 inc/dashboard.class.php:172
55 | #: inc/kanban.class.php:257 inc/ticket.class.php:154
56 | msgid "Add task"
57 | msgstr "Přidat úkol"
58 |
59 | #: inc/kanban.class.php:61
60 | msgid "Kanban"
61 | msgstr "Kanban"
62 |
63 | #: inc/kanban.class.php:121
64 | msgid "You don't have the right to see any context"
65 | msgstr "Nemáte oprávnění pro zobrazení žádného kontextu"
66 |
67 | #: inc/kanban.class.php:188
68 | msgid "There is no accessible context"
69 | msgstr ""
70 |
71 | #: inc/kanban.class.php:247
72 | msgid "Toggle collapse"
73 | msgstr ""
74 |
75 | #: inc/kanban.class.php:248
76 | msgid "Search"
77 | msgstr ""
78 |
79 | #: inc/kanban.class.php:249
80 | msgid "Search or filter results"
81 | msgstr ""
82 |
83 | #: inc/kanban.class.php:250
84 | msgid "Add status"
85 | msgstr ""
86 |
87 | #: inc/kanban.class.php:251
88 | msgid "Create status"
89 | msgstr ""
90 |
91 | #: inc/kanban.class.php:253
92 | msgid "Add a column from existing status"
93 | msgstr ""
94 |
95 | #: inc/kanban.class.php:254
96 | msgid "Or add a new status"
97 | msgstr ""
98 |
99 | #: inc/kanban.class.php:259
100 | msgid "Archive all tasks of this state"
101 | msgstr "Archivovat všechny úkoly, které mají tento stav"
102 |
103 | #: inc/kanban.class.php:260
104 | msgid "See archived tasks"
105 | msgstr "Zobrazit archivované úkoly"
106 |
107 | #: inc/kanban.class.php:261
108 | msgid "Hide archived tasks"
109 | msgstr "Skrýt archivované úkoly"
110 |
111 | #: inc/kanban.class.php:262
112 | msgid "Clone task"
113 | msgstr "Klonovat úkol"
114 |
115 | #: inc/kanban.class.php:263
116 | msgid "See tasks in progress"
117 | msgstr "Zobrazit všechny rozpracované úkoly"
118 |
119 | #: inc/kanban.class.php:264
120 | msgid "See tasks of"
121 | msgstr "Zobrazit úkoly"
122 |
123 | #: inc/kanban.class.php:265
124 | msgid "See all tasks"
125 | msgstr "Zobrazit všechny úkoly"
126 |
127 | #: inc/kanban.class.php:266
128 | msgid "Are you sure you want to archive this task ?"
129 | msgstr "Opravdu chcete tento úkol zaarchivovat?"
130 |
131 | #: inc/kanban.class.php:267
132 | msgid "Are you sure you want to archive all tasks ?"
133 | msgstr "Opravdu chcete zaarchivovat všechny úkoly?"
134 |
135 | #: inc/kanban.class.php:268
136 | msgid "Archive this task"
137 | msgstr "Zaarchivovat tento úkol"
138 |
139 | #: inc/kanban.class.php:269
140 | msgid "Update priority of task"
141 | msgstr "Změnit prioritu úkolu"
142 |
143 | #: inc/kanban.class.php:270
144 | msgid "Details of task"
145 | msgstr "Podrobnosti úkolu"
146 |
147 | #: inc/notificationtargettask.class.php:50
148 | msgid "A task has been added"
149 | msgstr "Byl přidán úkol"
150 |
151 | #: inc/notificationtargettask.class.php:51
152 | msgid "A task has been updated"
153 | msgstr "Byl aktualizován úkol"
154 |
155 | #: inc/notificationtargettask.class.php:52
156 | msgid "A task has been removed"
157 | msgstr "Byl odebrán úkol"
158 |
159 | #: inc/notificationtargettask.class.php:207
160 | #: inc/notificationtargettask.class.php:251 inc/task.class.php:189
161 | #: inc/task.class.php:486
162 | msgid "Other client"
163 | msgstr "Jiný klint"
164 |
165 | #: inc/notificationtargettask.class.php:259
166 | msgid "At creation, update, removal of a task"
167 | msgstr "Při vytvoření, aktualizaci a odebrání úkolu"
168 |
169 | #: inc/preference.class.php:80
170 | msgid "Context by default"
171 | msgstr "Kontext ve výchozím stavu"
172 |
173 | #: inc/preference.class.php:88
174 | msgid "Automatic refreshing of tasklist"
175 | msgstr ""
176 |
177 | #: inc/preference.class.php:94
178 | msgid "Refresh every "
179 | msgstr ""
180 |
181 | #: inc/preference.class.php:98
182 | msgid "minute(s)"
183 | msgstr ""
184 |
185 | #: inc/profile.class.php:153 inc/profile.class.php:196
186 | msgid "See and update all tasks"
187 | msgstr "Zobrazit a aktualizovat všechny úkoly"
188 |
189 | #: inc/profile.class.php:162 inc/profile.class.php:199
190 | msgid "Configure contexts and statuses"
191 | msgstr ""
192 |
193 | #: inc/stateorder.class.php:96
194 | msgid "States ordering"
195 | msgstr "Řazení vztahů"
196 |
197 | #: inc/stateorder.class.php:156
198 | msgid "Add states from linked Kanban"
199 | msgstr ""
200 |
201 | #: inc/task.class.php:333
202 | msgid "You cannot archive a task with this state"
203 | msgstr "Není možné archivovat úkol, který je v tomto stavu"
204 |
205 | #: inc/task.class.php:457
206 | msgid "Existing client"
207 | msgstr "Existující klient"
208 |
209 | #: inc/task.class.php:622 inc/task.class.php:709 inc/task.class.php:985
210 | #: inc/tasktype.class.php:161
211 | msgid "Backlog"
212 | msgstr "Nashromážděno"
213 |
214 | #: inc/task.class.php:1045
215 | msgctxt "visibility"
216 | msgid "This user"
217 | msgstr "Tento uživatel"
218 |
219 | #: inc/task.class.php:1048
220 | msgctxt "visibility"
221 | msgid "This user and this group"
222 | msgstr "Tento uživatel a skupina"
223 |
224 | #: inc/task.class.php:1051
225 | msgctxt "visibility"
226 | msgid "All"
227 | msgstr "Všichni"
228 |
229 | #: inc/task.class.php:1093
230 | msgid "Affect entity for create task"
231 | msgstr "Přiřadit entitu pro vytvoření úkolu"
232 |
233 | #: inc/ticket.class.php:74 inc/ticket.class.php:183
234 | msgid "Linked task"
235 | msgid_plural "Linked tasks"
236 | msgstr[0] "Propojený úkol"
237 | msgstr[1] "Propojené úkoly"
238 | msgstr[2] "Propojených úkolů"
239 | msgstr[3] "Propojené úkoly"
240 |
241 | #: inc/ticket.class.php:227
242 | msgid "No task linked to this ticket yet"
243 | msgstr "K tomuto požadavku zatím nejsou připojené žádné úkoly"
244 |
245 | #: inc/ticket.class.php:258
246 | msgid "Link a existant ticket"
247 | msgstr "Propojit s existujícím požadavkem"
248 |
249 | #: inc/ticket.class.php:284
250 | msgid "Linked tickets"
251 | msgstr "Připojené požadavky"
252 |
253 | #: inc/typevisibility.class.php:138
254 | msgid "Add a group"
255 | msgstr "Přidat skupinu"
256 |
257 | #: inc/typevisibility.class.php:179
258 | msgid "Groups allowed to use context"
259 | msgstr "Skupiny kterým je umožněno používat kontext"
260 |
--------------------------------------------------------------------------------
/locales/en_GB.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/InfotelGLPI/tasklists/db68fda7243a85b5ce72dad27eb2c6cf2ea307c0/locales/en_GB.mo
--------------------------------------------------------------------------------
/locales/en_GB.po:
--------------------------------------------------------------------------------
1 | # SOME DESCRIPTIVE TITLE.
2 | # Copyright (C) YEAR Tasklists Development Team
3 | # This file is distributed under the same license as the GLPI - Tasklists plugin package.
4 | # FIRST AUTHOR , YEAR.
5 | #
6 | msgid ""
7 | msgstr ""
8 | "Project-Id-Version: GLPI - Tasklists plugin 1.4.0\n"
9 | "Report-Msgid-Bugs-To: \n"
10 | "POT-Creation-Date: 2020-07-20 15:07+0200\n"
11 | "PO-Revision-Date: 2020-07-20 15:19+0200\n"
12 | "MIME-Version: 1.0\n"
13 | "Content-Type: text/plain; charset=UTF-8\n"
14 | "Content-Transfer-Encoding: 8bit\n"
15 | "Language: en_GB\n"
16 | "Plural-Forms: nplurals=2; plural=(n != 1);\n"
17 | "Last-Translator: \n"
18 | "Language-Team: \n"
19 | "X-Generator: Poedit 2.3\n"
20 |
21 | #: setup.php:89 inc/dashboard.class.php:58 inc/dashboard.class.php:178
22 | #: inc/dashboard.class.php:183 inc/menu.class.php:44
23 | #: inc/preference.class.php:46 inc/profile.class.php:52
24 | msgid "Tasks list"
25 | msgstr "Tasks list"
26 |
27 | #: ajax/addOptions.php:31
28 | msgid "Not archived"
29 | msgstr "Not archived"
30 |
31 | #: ajax/addOptions.php:32 inc/task.class.php:181 inc/task.class.php:599
32 | msgid "Archived"
33 | msgstr "Archived"
34 |
35 | #: inc/dashboard.class.php:93 inc/task.class.php:80 inc/task.class.php:418
36 | #: inc/taskstate.class.php:100 inc/taskstate.class.php:152
37 | #: inc/tasktype.class.php:48
38 | msgid "Context"
39 | msgid_plural "Contexts"
40 | msgstr[0] "Context"
41 | msgstr[1] "Contexts"
42 |
43 | #: inc/dashboard.class.php:93 inc/notificationtargettask.class.php:203
44 | #: inc/notificationtargettask.class.php:247 inc/task.class.php:118
45 | #: inc/task.class.php:496 inc/tasktype.class.php:256
46 | msgid "Due date"
47 | msgstr "Due date"
48 |
49 | #: inc/dashboard.class.php:164 inc/dashboard.class.php:172
50 | #: inc/kanban.class.php:257 inc/ticket.class.php:154
51 | msgid "Add task"
52 | msgstr "Add task"
53 |
54 | #: inc/kanban.class.php:61
55 | msgid "Kanban"
56 | msgstr "Kanban"
57 |
58 | #: inc/kanban.class.php:121
59 | msgid "You don't have the right to see any context"
60 | msgstr "You don't have the right to see any context"
61 |
62 | #: inc/kanban.class.php:188
63 | msgid "There is no accessible context"
64 | msgstr "There is no accessible context"
65 |
66 | #: inc/kanban.class.php:247
67 | msgid "Toggle collapse"
68 | msgstr "Toggle collapse"
69 |
70 | #: inc/kanban.class.php:248
71 | msgid "Search"
72 | msgstr "Search"
73 |
74 | #: inc/kanban.class.php:249
75 | msgid "Search or filter results"
76 | msgstr "Search or filter results"
77 |
78 | #: inc/kanban.class.php:250
79 | msgid "Add status"
80 | msgstr "Add status"
81 |
82 | #: inc/kanban.class.php:251
83 | msgid "Create status"
84 | msgstr "Create status"
85 |
86 | #: inc/kanban.class.php:253
87 | msgid "Add a column from existing status"
88 | msgstr "Add a column from existing status"
89 |
90 | #: inc/kanban.class.php:254
91 | msgid "Or add a new status"
92 | msgstr "Or add a new status"
93 |
94 | #: inc/kanban.class.php:259
95 | msgid "Archive all tasks of this state"
96 | msgstr "Archive all tasks of this state"
97 |
98 | #: inc/kanban.class.php:260
99 | msgid "See archived tasks"
100 | msgstr "See archived tasks"
101 |
102 | #: inc/kanban.class.php:261
103 | msgid "Hide archived tasks"
104 | msgstr "Hide archived tasks"
105 |
106 | #: inc/kanban.class.php:262
107 | msgid "Clone task"
108 | msgstr "Clone task"
109 |
110 | #: inc/kanban.class.php:263
111 | msgid "See tasks in progress"
112 | msgstr "See tasks in progress"
113 |
114 | #: inc/kanban.class.php:264
115 | msgid "See tasks of"
116 | msgstr "See tasks of"
117 |
118 | #: inc/kanban.class.php:265
119 | msgid "See all tasks"
120 | msgstr "See all tasks"
121 |
122 | #: inc/kanban.class.php:266
123 | msgid "Are you sure you want to archive this task ?"
124 | msgstr "Are you sure you want to archive this task ?"
125 |
126 | #: inc/kanban.class.php:267
127 | msgid "Are you sure you want to archive all tasks ?"
128 | msgstr "Are you sure you want to archive all tasks ?"
129 |
130 | #: inc/kanban.class.php:268
131 | msgid "Archive this task"
132 | msgstr "Archive this task"
133 |
134 | #: inc/kanban.class.php:269
135 | msgid "Update priority of task"
136 | msgstr "Update priority of task"
137 |
138 | #: inc/kanban.class.php:270
139 | msgid "Details of task"
140 | msgstr "Details of task"
141 |
142 | #: inc/notificationtargettask.class.php:50
143 | msgid "A task has been added"
144 | msgstr "A task has been added"
145 |
146 | #: inc/notificationtargettask.class.php:51
147 | msgid "A task has been updated"
148 | msgstr "A task has been updated"
149 |
150 | #: inc/notificationtargettask.class.php:52
151 | msgid "A task has been removed"
152 | msgstr "A task has been removed"
153 |
154 | #: inc/notificationtargettask.class.php:207
155 | #: inc/notificationtargettask.class.php:251 inc/task.class.php:189
156 | #: inc/task.class.php:486
157 | msgid "Other client"
158 | msgstr "Other client"
159 |
160 | #: inc/notificationtargettask.class.php:259
161 | msgid "At creation, update, removal of a task"
162 | msgstr "At creation, update, removal of a task"
163 |
164 | #: inc/preference.class.php:80
165 | msgid "Context by default"
166 | msgstr "Context by default"
167 |
168 | #: inc/preference.class.php:88
169 | msgid "Automatic refreshing of tasklist"
170 | msgstr "Automatic refreshing of tasklist"
171 |
172 | #: inc/preference.class.php:94
173 | msgid "Refresh every "
174 | msgstr "Refresh every "
175 |
176 | #: inc/preference.class.php:98
177 | msgid "minute(s)"
178 | msgstr "minute(s)"
179 |
180 | #: inc/profile.class.php:153 inc/profile.class.php:196
181 | msgid "See and update all tasks"
182 | msgstr "See and update all tasks"
183 |
184 | #: inc/profile.class.php:162 inc/profile.class.php:199
185 | msgid "Configure contexts and statuses"
186 | msgstr "Configure contexts and statuses"
187 |
188 | #: inc/stateorder.class.php:96
189 | msgid "States ordering"
190 | msgstr "States ordering"
191 |
192 | #: inc/stateorder.class.php:156
193 | msgid "Add states from linked Kanban"
194 | msgstr "Add states from linked Kanban"
195 |
196 | #: inc/task.class.php:333
197 | msgid "You cannot archive a task with this state"
198 | msgstr "You cannot archive a task with this state"
199 |
200 | #: inc/task.class.php:457
201 | msgid "Existing client"
202 | msgstr "Existing client"
203 |
204 | #: inc/task.class.php:622 inc/task.class.php:709 inc/task.class.php:985
205 | #: inc/tasktype.class.php:161
206 | msgid "Backlog"
207 | msgstr "Backlog"
208 |
209 | #: inc/task.class.php:1045
210 | msgctxt "visibility"
211 | msgid "This user"
212 | msgstr "This user"
213 |
214 | #: inc/task.class.php:1048
215 | msgctxt "visibility"
216 | msgid "This user and this group"
217 | msgstr "This user and this group"
218 |
219 | #: inc/task.class.php:1051
220 | msgctxt "visibility"
221 | msgid "All"
222 | msgstr "All"
223 |
224 | #: inc/task.class.php:1093
225 | msgid "Affect entity for create task"
226 | msgstr "Affect entity for create task"
227 |
228 | #: inc/ticket.class.php:74 inc/ticket.class.php:183
229 | msgid "Linked task"
230 | msgid_plural "Linked tasks"
231 | msgstr[0] "Linked task"
232 | msgstr[1] "Linked tasks"
233 |
234 | #: inc/ticket.class.php:227
235 | msgid "No task linked to this ticket yet"
236 | msgstr "No task linked to this ticket yet"
237 |
238 | #: inc/ticket.class.php:258
239 | msgid "Link a existant ticket"
240 | msgstr "Link a existant ticket"
241 |
242 | #: inc/ticket.class.php:284
243 | msgid "Linked tickets"
244 | msgstr "Linked tickets"
245 |
246 | #: inc/typevisibility.class.php:138
247 | msgid "Add a group"
248 | msgstr "Add a group"
249 |
250 | #: inc/typevisibility.class.php:179
251 | msgid "Groups allowed to use context"
252 | msgstr "Groups allowed to use context"
253 |
--------------------------------------------------------------------------------
/locales/es_419.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/InfotelGLPI/tasklists/db68fda7243a85b5ce72dad27eb2c6cf2ea307c0/locales/es_419.mo
--------------------------------------------------------------------------------
/locales/es_419.po:
--------------------------------------------------------------------------------
1 | # SOME DESCRIPTIVE TITLE.
2 | # Copyright (C) YEAR Tasklists Development Team
3 | # This file is distributed under the same license as the GLPI - Tasklists plugin package.
4 | # FIRST AUTHOR , YEAR.
5 | #
6 | # Translators:
7 | # Jorge Paniagua , 2019
8 | #
9 | #, fuzzy
10 | msgid ""
11 | msgstr ""
12 | "Project-Id-Version: GLPI - Tasklists plugin 1.4.0\n"
13 | "Report-Msgid-Bugs-To: \n"
14 | "POT-Creation-Date: 2020-07-20 15:07+0200\n"
15 | "PO-Revision-Date: 2017-10-18 16:45+0000\n"
16 | "Last-Translator: Jorge Paniagua , 2019\n"
17 | "Language-Team: Spanish (Latin America) (https://www.transifex.com/infotelGLPI/teams/79675/es_419/)\n"
18 | "MIME-Version: 1.0\n"
19 | "Content-Type: text/plain; charset=UTF-8\n"
20 | "Content-Transfer-Encoding: 8bit\n"
21 | "Language: es_419\n"
22 | "Plural-Forms: nplurals=2; plural=(n != 1);\n"
23 |
24 | #: setup.php:89 inc/dashboard.class.php:58 inc/dashboard.class.php:178
25 | #: inc/dashboard.class.php:183 inc/menu.class.php:44
26 | #: inc/preference.class.php:46 inc/profile.class.php:52
27 | msgid "Tasks list"
28 | msgstr "Lista de tareas"
29 |
30 | #: ajax/addOptions.php:31
31 | msgid "Not archived"
32 | msgstr ""
33 |
34 | #: ajax/addOptions.php:32 inc/task.class.php:181 inc/task.class.php:599
35 | msgid "Archived"
36 | msgstr "Archivado"
37 |
38 | #: inc/dashboard.class.php:93 inc/task.class.php:80 inc/task.class.php:418
39 | #: inc/taskstate.class.php:100 inc/taskstate.class.php:152
40 | #: inc/tasktype.class.php:48
41 | msgid "Context"
42 | msgid_plural "Contexts"
43 | msgstr[0] "Contexto"
44 | msgstr[1] "Contexto"
45 |
46 | #: inc/dashboard.class.php:93 inc/notificationtargettask.class.php:203
47 | #: inc/notificationtargettask.class.php:247 inc/task.class.php:118
48 | #: inc/task.class.php:496 inc/tasktype.class.php:256
49 | msgid "Due date"
50 | msgstr "Fecha de vencimiento"
51 |
52 | #: inc/dashboard.class.php:164 inc/dashboard.class.php:172
53 | #: inc/kanban.class.php:257 inc/ticket.class.php:154
54 | msgid "Add task"
55 | msgstr "Agregar tarea"
56 |
57 | #: inc/kanban.class.php:61
58 | msgid "Kanban"
59 | msgstr "Kanban"
60 |
61 | #: inc/kanban.class.php:121
62 | msgid "You don't have the right to see any context"
63 | msgstr "Usted no tiene privilegios para ver ningún contexto"
64 |
65 | #: inc/kanban.class.php:188
66 | msgid "There is no accessible context"
67 | msgstr ""
68 |
69 | #: inc/kanban.class.php:247
70 | msgid "Toggle collapse"
71 | msgstr ""
72 |
73 | #: inc/kanban.class.php:248
74 | msgid "Search"
75 | msgstr ""
76 |
77 | #: inc/kanban.class.php:249
78 | msgid "Search or filter results"
79 | msgstr ""
80 |
81 | #: inc/kanban.class.php:250
82 | msgid "Add status"
83 | msgstr ""
84 |
85 | #: inc/kanban.class.php:251
86 | msgid "Create status"
87 | msgstr ""
88 |
89 | #: inc/kanban.class.php:253
90 | msgid "Add a column from existing status"
91 | msgstr ""
92 |
93 | #: inc/kanban.class.php:254
94 | msgid "Or add a new status"
95 | msgstr ""
96 |
97 | #: inc/kanban.class.php:259
98 | msgid "Archive all tasks of this state"
99 | msgstr "Archivar todas las tareas de este estado"
100 |
101 | #: inc/kanban.class.php:260
102 | msgid "See archived tasks"
103 | msgstr "Ver tareas archivadas"
104 |
105 | #: inc/kanban.class.php:261
106 | msgid "Hide archived tasks"
107 | msgstr "Ocultar tareas archivadas"
108 |
109 | #: inc/kanban.class.php:262
110 | msgid "Clone task"
111 | msgstr "Duplicar tarea"
112 |
113 | #: inc/kanban.class.php:263
114 | msgid "See tasks in progress"
115 | msgstr "Ver tareas en progreso"
116 |
117 | #: inc/kanban.class.php:264
118 | msgid "See tasks of"
119 | msgstr "Ver tareas de "
120 |
121 | #: inc/kanban.class.php:265
122 | msgid "See all tasks"
123 | msgstr "Ver todas las tareas"
124 |
125 | #: inc/kanban.class.php:266
126 | msgid "Are you sure you want to archive this task ?"
127 | msgstr "¿Esta seguro que quiere archivar esta tarea?"
128 |
129 | #: inc/kanban.class.php:267
130 | msgid "Are you sure you want to archive all tasks ?"
131 | msgstr "¿Esta seguro que quiere archivar todas las tareas?"
132 |
133 | #: inc/kanban.class.php:268
134 | msgid "Archive this task"
135 | msgstr "Archiva esta tarea"
136 |
137 | #: inc/kanban.class.php:269
138 | msgid "Update priority of task"
139 | msgstr "Actualizar prioridad de tarea"
140 |
141 | #: inc/kanban.class.php:270
142 | msgid "Details of task"
143 | msgstr "Detalles de tarea"
144 |
145 | #: inc/notificationtargettask.class.php:50
146 | msgid "A task has been added"
147 | msgstr "Una tarea ha sido agregada"
148 |
149 | #: inc/notificationtargettask.class.php:51
150 | msgid "A task has been updated"
151 | msgstr "Una tarea ha sido actualizada"
152 |
153 | #: inc/notificationtargettask.class.php:52
154 | msgid "A task has been removed"
155 | msgstr "Una tarea ha sido eliminada"
156 |
157 | #: inc/notificationtargettask.class.php:207
158 | #: inc/notificationtargettask.class.php:251 inc/task.class.php:189
159 | #: inc/task.class.php:486
160 | msgid "Other client"
161 | msgstr "Otro cliente"
162 |
163 | #: inc/notificationtargettask.class.php:259
164 | msgid "At creation, update, removal of a task"
165 | msgstr "En la creación, actualización, eliminación de una tarea"
166 |
167 | #: inc/preference.class.php:80
168 | msgid "Context by default"
169 | msgstr "Contexto predefinido"
170 |
171 | #: inc/preference.class.php:88
172 | msgid "Automatic refreshing of tasklist"
173 | msgstr ""
174 |
175 | #: inc/preference.class.php:94
176 | msgid "Refresh every "
177 | msgstr ""
178 |
179 | #: inc/preference.class.php:98
180 | msgid "minute(s)"
181 | msgstr ""
182 |
183 | #: inc/profile.class.php:153 inc/profile.class.php:196
184 | msgid "See and update all tasks"
185 | msgstr "Ver y actualizar todas las tareas"
186 |
187 | #: inc/profile.class.php:162 inc/profile.class.php:199
188 | msgid "Configure contexts and statuses"
189 | msgstr ""
190 |
191 | #: inc/stateorder.class.php:96
192 | msgid "States ordering"
193 | msgstr "Ordenación de estados"
194 |
195 | #: inc/stateorder.class.php:156
196 | msgid "Add states from linked Kanban"
197 | msgstr ""
198 |
199 | #: inc/task.class.php:333
200 | msgid "You cannot archive a task with this state"
201 | msgstr "Usted no puede archivar una tarea en este estado"
202 |
203 | #: inc/task.class.php:457
204 | msgid "Existing client"
205 | msgstr "Cliente existente"
206 |
207 | #: inc/task.class.php:622 inc/task.class.php:709 inc/task.class.php:985
208 | #: inc/tasktype.class.php:161
209 | msgid "Backlog"
210 | msgstr "Backlog"
211 |
212 | #: inc/task.class.php:1045
213 | msgctxt "visibility"
214 | msgid "This user"
215 | msgstr "Este usuario"
216 |
217 | #: inc/task.class.php:1048
218 | msgctxt "visibility"
219 | msgid "This user and this group"
220 | msgstr "Este usuario y su grupo"
221 |
222 | #: inc/task.class.php:1051
223 | msgctxt "visibility"
224 | msgid "All"
225 | msgstr "Todo"
226 |
227 | #: inc/task.class.php:1093
228 | msgid "Affect entity for create task"
229 | msgstr "Entidad afectada por tarea creada"
230 |
231 | #: inc/ticket.class.php:74 inc/ticket.class.php:183
232 | msgid "Linked task"
233 | msgid_plural "Linked tasks"
234 | msgstr[0] "T"
235 | msgstr[1] "Tareas vinculadas"
236 |
237 | #: inc/ticket.class.php:227
238 | msgid "No task linked to this ticket yet"
239 | msgstr "Aún no hay ninguna tarea vinculada a este ticket"
240 |
241 | #: inc/ticket.class.php:258
242 | msgid "Link a existant ticket"
243 | msgstr "Vincula un ticket existente"
244 |
245 | #: inc/ticket.class.php:284
246 | msgid "Linked tickets"
247 | msgstr "Tickets vinculados"
248 |
249 | #: inc/typevisibility.class.php:138
250 | msgid "Add a group"
251 | msgstr "Agregar un grupo"
252 |
253 | #: inc/typevisibility.class.php:179
254 | msgid "Groups allowed to use context"
255 | msgstr "Grupos permitidos para usar el contexto"
256 |
--------------------------------------------------------------------------------
/locales/es_EC.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/InfotelGLPI/tasklists/db68fda7243a85b5ce72dad27eb2c6cf2ea307c0/locales/es_EC.mo
--------------------------------------------------------------------------------
/locales/es_EC.po:
--------------------------------------------------------------------------------
1 | # SOME DESCRIPTIVE TITLE.
2 | # Copyright (C) YEAR Tasklists Development Team
3 | # This file is distributed under the same license as the GLPI - Tasklists plugin package.
4 | # FIRST AUTHOR , YEAR.
5 | #
6 | # Translators:
7 | # Soporte Infraestructura Standby, 2023
8 | #
9 | #, fuzzy
10 | msgid ""
11 | msgstr ""
12 | "Project-Id-Version: GLPI - Tasklists plugin\n"
13 | "Report-Msgid-Bugs-To: \n"
14 | "POT-Creation-Date: 2024-12-30 13:49+0000\n"
15 | "PO-Revision-Date: 2020-11-02 16:28+0000\n"
16 | "Last-Translator: Soporte Infraestructura Standby, 2023\n"
17 | "Language-Team: Spanish (Ecuador) (https://app.transifex.com/infotelGLPI/teams/79675/es_EC/)\n"
18 | "MIME-Version: 1.0\n"
19 | "Content-Type: text/plain; charset=UTF-8\n"
20 | "Content-Transfer-Encoding: 8bit\n"
21 | "Language: es_EC\n"
22 | "Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
23 |
24 | #: setup.php:87 inc/dashboard.class.php:60 inc/dashboard.class.php:178
25 | #: inc/dashboard.class.php:183 inc/menu.class.php:44
26 | #: inc/preference.class.php:46 inc/profile.class.php:52
27 | msgid "Tasks list"
28 | msgstr "Lista de tareas"
29 |
30 | #: ajax/addOptions.php:30
31 | msgid "Not archived"
32 | msgstr "Sin archivar"
33 |
34 | #: ajax/addOptions.php:31 inc/task.class.php:197 inc/task.class.php:686
35 | msgid "Archived"
36 | msgstr "Archivado"
37 |
38 | #: inc/dashboard.class.php:59
39 | msgid "Tables"
40 | msgstr "Tablas"
41 |
42 | #: inc/dashboard.class.php:102 inc/task.class.php:96 inc/task.class.php:478
43 | #: inc/taskstate.class.php:137 inc/taskstate.class.php:189
44 | #: inc/tasktype.class.php:52
45 | msgid "Context"
46 | msgid_plural "Contexts"
47 | msgstr[0] "Contextos"
48 | msgstr[1] "Contextos"
49 | msgstr[2] "Contextos"
50 |
51 | #: inc/dashboard.class.php:108 inc/notificationtargettask.class.php:213
52 | #: inc/notificationtargettask.class.php:259 inc/task.class.php:134
53 | #: inc/task.class.php:568 inc/tasktype.class.php:229
54 | msgid "Due date"
55 | msgstr "Fecha de vencimiento"
56 |
57 | #: inc/dashboard.class.php:163 inc/dashboard.class.php:164
58 | #: inc/dashboard.class.php:169 inc/ticket.class.php:154
59 | msgid "Add task"
60 | msgstr "Agregar tarea"
61 |
62 | #: inc/kanban.class.php:76
63 | msgid "Kanban"
64 | msgstr "Kanban"
65 |
66 | #: inc/kanban.class.php:148
67 | msgid "You don't have the right to see any context"
68 | msgstr "No tienes derecho a ver ningún contexto"
69 |
70 | #: inc/kanban.class.php:185
71 | msgid "There is no accessible context"
72 | msgstr "No existe un contexto accesible"
73 |
74 | #: inc/notificationtargettask.class.php:51
75 | msgid "A task has been added"
76 | msgstr "Se ha agregado una tarea"
77 |
78 | #: inc/notificationtargettask.class.php:52
79 | msgid "A task has been updated"
80 | msgstr "Una tarea se ha actualizado"
81 |
82 | #: inc/notificationtargettask.class.php:53
83 | msgid "A task has been removed"
84 | msgstr "Una tarea ha sido eliminada"
85 |
86 | #: inc/notificationtargettask.class.php:217
87 | #: inc/notificationtargettask.class.php:263 inc/task.class.php:205
88 | #: inc/task.class.php:559
89 | msgid "Other client"
90 | msgstr "Otro cliente"
91 |
92 | #: inc/notificationtargettask.class.php:271
93 | msgid "At creation, update, removal of a task"
94 | msgstr "En la creación, actualización, eliminación de una tarea"
95 |
96 | #: inc/preference.class.php:88
97 | msgid "Context by default"
98 | msgstr "Contexto predeterminado"
99 |
100 | #: inc/preference.class.php:96
101 | msgid "Automatic refreshing of tasklist"
102 | msgstr "Actualizar automáticamente la lista de tareas"
103 |
104 | #: inc/preference.class.php:102
105 | msgid "Refresh every "
106 | msgstr "Actualizar cada"
107 |
108 | #: inc/preference.class.php:106
109 | msgid "minute(s)"
110 | msgstr "minuto(s)"
111 |
112 | #: inc/profile.class.php:164 inc/profile.class.php:208
113 | msgid "See and update all tasks"
114 | msgstr "Ver y actualizar todas las tareas"
115 |
116 | #: inc/profile.class.php:173 inc/profile.class.php:211
117 | msgid "Configure contexts and statuses"
118 | msgstr "Configurar contextos y estados"
119 |
120 | #: inc/task.class.php:254
121 | msgctxt "quantity"
122 | msgid "Number of comments"
123 | msgstr "Número de comentarios"
124 |
125 | #: inc/task.class.php:392
126 | msgid "You cannot archive a task with this state"
127 | msgstr "No se puede archivar una tarea con este estado"
128 |
129 | #: inc/task.class.php:522
130 | msgid "Existing client"
131 | msgstr "Cliente existente"
132 |
133 | #: inc/task.class.php:709 inc/task.class.php:790 inc/task.class.php:1085
134 | #: inc/tasktype.class.php:165 inc/tasktype.class.php:526
135 | msgid "Backlog"
136 | msgstr "Atrasos"
137 |
138 | #: inc/task.class.php:1143
139 | msgctxt "visibility"
140 | msgid "This user"
141 | msgstr "Este usuario"
142 |
143 | #: inc/task.class.php:1146
144 | msgctxt "visibility"
145 | msgid "This user and this group"
146 | msgstr "Este usuario y este grupo"
147 |
148 | #: inc/task.class.php:1149
149 | msgctxt "visibility"
150 | msgid "All"
151 | msgstr "Todos"
152 |
153 | #: inc/task.class.php:1192
154 | msgid "Affect entity for create task"
155 | msgstr "Entidad afectada para crear tarea"
156 |
157 | #: inc/taskstate.class.php:84
158 | msgid "Status"
159 | msgid_plural "Statuses"
160 | msgstr[0] "Estados"
161 | msgstr[1] "Estados"
162 | msgstr[2] "Estados"
163 |
164 | #: inc/ticket.class.php:74 inc/ticket.class.php:184
165 | msgid "Linked task"
166 | msgid_plural "Linked tasks"
167 | msgstr[0] "Tareas vinculadas"
168 | msgstr[1] "Tareas vinculadas"
169 | msgstr[2] "Tareas vinculadas"
170 |
171 | #: inc/ticket.class.php:228
172 | msgid "No task linked to this ticket yet"
173 | msgstr "Todavía no hay ninguna tarea vinculada a este ticket"
174 |
175 | #: inc/ticket.class.php:259
176 | msgid "Link a existant ticket"
177 | msgstr "Vincular un ticket existente"
178 |
179 | #: inc/ticket.class.php:285
180 | msgid "Linked tickets"
181 | msgstr "Tickets vinculados"
182 |
183 | #: inc/typevisibility.class.php:138
184 | msgid "Add a group"
185 | msgstr "Agregar un grupo"
186 |
187 | #: inc/typevisibility.class.php:179
188 | msgid "Groups allowed to use context"
189 | msgstr "Grupos autorizados a utilizar el contexto"
190 |
--------------------------------------------------------------------------------
/locales/es_ES.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/InfotelGLPI/tasklists/db68fda7243a85b5ce72dad27eb2c6cf2ea307c0/locales/es_ES.mo
--------------------------------------------------------------------------------
/locales/es_ES.po:
--------------------------------------------------------------------------------
1 | # SOME DESCRIPTIVE TITLE.
2 | # Copyright (C) YEAR Tasklists Development Team
3 | # This file is distributed under the same license as the GLPI - Tasklists plugin package.
4 | # FIRST AUTHOR , YEAR.
5 | #
6 | # Translators:
7 | # Xavier CAILLAUD , 2020
8 | # FranciscoFJ , 2022
9 | #
10 | #, fuzzy
11 | msgid ""
12 | msgstr ""
13 | "Project-Id-Version: GLPI - Tasklists plugin\n"
14 | "Report-Msgid-Bugs-To: \n"
15 | "POT-Creation-Date: 2024-12-30 13:49+0000\n"
16 | "PO-Revision-Date: 2020-11-02 16:28+0000\n"
17 | "Last-Translator: FranciscoFJ , 2022\n"
18 | "Language-Team: Spanish (Spain) (https://app.transifex.com/infotelGLPI/teams/79675/es_ES/)\n"
19 | "MIME-Version: 1.0\n"
20 | "Content-Type: text/plain; charset=UTF-8\n"
21 | "Content-Transfer-Encoding: 8bit\n"
22 | "Language: es_ES\n"
23 | "Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
24 |
25 | #: setup.php:87 inc/dashboard.class.php:60 inc/dashboard.class.php:178
26 | #: inc/dashboard.class.php:183 inc/menu.class.php:44
27 | #: inc/preference.class.php:46 inc/profile.class.php:52
28 | msgid "Tasks list"
29 | msgstr "Lista de tareas"
30 |
31 | #: ajax/addOptions.php:30
32 | msgid "Not archived"
33 | msgstr "No archivado"
34 |
35 | #: ajax/addOptions.php:31 inc/task.class.php:197 inc/task.class.php:686
36 | msgid "Archived"
37 | msgstr "Archivado"
38 |
39 | #: inc/dashboard.class.php:59
40 | msgid "Tables"
41 | msgstr "Tableros"
42 |
43 | #: inc/dashboard.class.php:102 inc/task.class.php:96 inc/task.class.php:478
44 | #: inc/taskstate.class.php:137 inc/taskstate.class.php:189
45 | #: inc/tasktype.class.php:52
46 | msgid "Context"
47 | msgid_plural "Contexts"
48 | msgstr[0] "Contexto"
49 | msgstr[1] "Contextos"
50 | msgstr[2] "Contextos"
51 |
52 | #: inc/dashboard.class.php:108 inc/notificationtargettask.class.php:213
53 | #: inc/notificationtargettask.class.php:259 inc/task.class.php:134
54 | #: inc/task.class.php:568 inc/tasktype.class.php:229
55 | msgid "Due date"
56 | msgstr "Fecha de vencimiento"
57 |
58 | #: inc/dashboard.class.php:163 inc/dashboard.class.php:164
59 | #: inc/dashboard.class.php:169 inc/ticket.class.php:154
60 | msgid "Add task"
61 | msgstr "Agregar tarea"
62 |
63 | #: inc/kanban.class.php:76
64 | msgid "Kanban"
65 | msgstr "Kanban"
66 |
67 | #: inc/kanban.class.php:148
68 | msgid "You don't have the right to see any context"
69 | msgstr "Usted no tiene privilegios para ver ningún contexto "
70 |
71 | #: inc/kanban.class.php:185
72 | msgid "There is no accessible context"
73 | msgstr "No hay contexto accesible"
74 |
75 | #: inc/notificationtargettask.class.php:51
76 | msgid "A task has been added"
77 | msgstr "Se ha añadido una tarea."
78 |
79 | #: inc/notificationtargettask.class.php:52
80 | msgid "A task has been updated"
81 | msgstr "Se ha actualizado una tarea"
82 |
83 | #: inc/notificationtargettask.class.php:53
84 | msgid "A task has been removed"
85 | msgstr "Se ha borrado una tarea"
86 |
87 | #: inc/notificationtargettask.class.php:217
88 | #: inc/notificationtargettask.class.php:263 inc/task.class.php:205
89 | #: inc/task.class.php:559
90 | msgid "Other client"
91 | msgstr "Otro cliente"
92 |
93 | #: inc/notificationtargettask.class.php:271
94 | msgid "At creation, update, removal of a task"
95 | msgstr "En la creación, actualización, eliminación de una tarea"
96 |
97 | #: inc/preference.class.php:88
98 | msgid "Context by default"
99 | msgstr "Contexto predefinido"
100 |
101 | #: inc/preference.class.php:96
102 | msgid "Automatic refreshing of tasklist"
103 | msgstr "Actualización automática de la lista de tareas"
104 |
105 | #: inc/preference.class.php:102
106 | msgid "Refresh every "
107 | msgstr "Actualizar cada"
108 |
109 | #: inc/preference.class.php:106
110 | msgid "minute(s)"
111 | msgstr "minuto(s)"
112 |
113 | #: inc/profile.class.php:164 inc/profile.class.php:208
114 | msgid "See and update all tasks"
115 | msgstr "Ver y actualizar todas las tareas"
116 |
117 | #: inc/profile.class.php:173 inc/profile.class.php:211
118 | msgid "Configure contexts and statuses"
119 | msgstr "Configurar contextos y estados"
120 |
121 | #: inc/task.class.php:254
122 | msgctxt "quantity"
123 | msgid "Number of comments"
124 | msgstr "Número de comentarios"
125 |
126 | #: inc/task.class.php:392
127 | msgid "You cannot archive a task with this state"
128 | msgstr "No puedes archivar una tarea con este estado"
129 |
130 | #: inc/task.class.php:522
131 | msgid "Existing client"
132 | msgstr "Cliente existente"
133 |
134 | #: inc/task.class.php:709 inc/task.class.php:790 inc/task.class.php:1085
135 | #: inc/tasktype.class.php:165 inc/tasktype.class.php:526
136 | msgid "Backlog"
137 | msgstr "Reserva"
138 |
139 | #: inc/task.class.php:1143
140 | msgctxt "visibility"
141 | msgid "This user"
142 | msgstr "Este usuario"
143 |
144 | #: inc/task.class.php:1146
145 | msgctxt "visibility"
146 | msgid "This user and this group"
147 | msgstr "Este usuario y este grupo"
148 |
149 | #: inc/task.class.php:1149
150 | msgctxt "visibility"
151 | msgid "All"
152 | msgstr "Todos"
153 |
154 | #: inc/task.class.php:1192
155 | msgid "Affect entity for create task"
156 | msgstr "Afecta a la entidad para crear la tarea"
157 |
158 | #: inc/taskstate.class.php:84
159 | msgid "Status"
160 | msgid_plural "Statuses"
161 | msgstr[0] "Estado"
162 | msgstr[1] "Estados"
163 | msgstr[2] "Estados"
164 |
165 | #: inc/ticket.class.php:74 inc/ticket.class.php:184
166 | msgid "Linked task"
167 | msgid_plural "Linked tasks"
168 | msgstr[0] "Tarea vinculada"
169 | msgstr[1] "Tareas vinculadas"
170 | msgstr[2] "Tareas vinculadas"
171 |
172 | #: inc/ticket.class.php:228
173 | msgid "No task linked to this ticket yet"
174 | msgstr "Aún no hay ninguna tarea vinculada a esta petición"
175 |
176 | #: inc/ticket.class.php:259
177 | msgid "Link a existant ticket"
178 | msgstr "Vincula una petición existente"
179 |
180 | #: inc/ticket.class.php:285
181 | msgid "Linked tickets"
182 | msgstr "Peticiones vinculadas"
183 |
184 | #: inc/typevisibility.class.php:138
185 | msgid "Add a group"
186 | msgstr "Agregar un grupo"
187 |
188 | #: inc/typevisibility.class.php:179
189 | msgid "Groups allowed to use context"
190 | msgstr "Grupos permitidos para usar el contexto"
191 |
--------------------------------------------------------------------------------
/locales/es_MX.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/InfotelGLPI/tasklists/db68fda7243a85b5ce72dad27eb2c6cf2ea307c0/locales/es_MX.mo
--------------------------------------------------------------------------------
/locales/es_MX.po:
--------------------------------------------------------------------------------
1 | # SOME DESCRIPTIVE TITLE.
2 | # Copyright (C) YEAR Tasklists Development Team
3 | # This file is distributed under the same license as the GLPI - Tasklists plugin package.
4 | # FIRST AUTHOR , YEAR.
5 | #
6 | # Translators:
7 | # Carlos Moreno Rodríguez , 2023
8 | #
9 | #, fuzzy
10 | msgid ""
11 | msgstr ""
12 | "Project-Id-Version: GLPI - Tasklists plugin\n"
13 | "Report-Msgid-Bugs-To: \n"
14 | "POT-Creation-Date: 2024-12-30 13:49+0000\n"
15 | "PO-Revision-Date: 2020-11-02 16:28+0000\n"
16 | "Last-Translator: Carlos Moreno Rodríguez , 2023\n"
17 | "Language-Team: Spanish (Mexico) (https://app.transifex.com/infotelGLPI/teams/79675/es_MX/)\n"
18 | "MIME-Version: 1.0\n"
19 | "Content-Type: text/plain; charset=UTF-8\n"
20 | "Content-Transfer-Encoding: 8bit\n"
21 | "Language: es_MX\n"
22 | "Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
23 |
24 | #: setup.php:87 inc/dashboard.class.php:60 inc/dashboard.class.php:178
25 | #: inc/dashboard.class.php:183 inc/menu.class.php:44
26 | #: inc/preference.class.php:46 inc/profile.class.php:52
27 | msgid "Tasks list"
28 | msgstr "Lista de tareas"
29 |
30 | #: ajax/addOptions.php:30
31 | msgid "Not archived"
32 | msgstr "No archivado"
33 |
34 | #: ajax/addOptions.php:31 inc/task.class.php:197 inc/task.class.php:686
35 | msgid "Archived"
36 | msgstr "Archivado"
37 |
38 | #: inc/dashboard.class.php:59
39 | msgid "Tables"
40 | msgstr "Tablas"
41 |
42 | #: inc/dashboard.class.php:102 inc/task.class.php:96 inc/task.class.php:478
43 | #: inc/taskstate.class.php:137 inc/taskstate.class.php:189
44 | #: inc/tasktype.class.php:52
45 | msgid "Context"
46 | msgid_plural "Contexts"
47 | msgstr[0] "Contexto"
48 | msgstr[1] "Contextos"
49 | msgstr[2] "Contextos"
50 |
51 | #: inc/dashboard.class.php:108 inc/notificationtargettask.class.php:213
52 | #: inc/notificationtargettask.class.php:259 inc/task.class.php:134
53 | #: inc/task.class.php:568 inc/tasktype.class.php:229
54 | msgid "Due date"
55 | msgstr "Fecha de vencimiento"
56 |
57 | #: inc/dashboard.class.php:163 inc/dashboard.class.php:164
58 | #: inc/dashboard.class.php:169 inc/ticket.class.php:154
59 | msgid "Add task"
60 | msgstr "Agregar tarea"
61 |
62 | #: inc/kanban.class.php:76
63 | msgid "Kanban"
64 | msgstr "Kanban"
65 |
66 | #: inc/kanban.class.php:148
67 | msgid "You don't have the right to see any context"
68 | msgstr "Sin derecho a visualizar ningún contexto"
69 |
70 | #: inc/kanban.class.php:185
71 | msgid "There is no accessible context"
72 | msgstr "No hay un contexto accesible"
73 |
74 | #: inc/notificationtargettask.class.php:51
75 | msgid "A task has been added"
76 | msgstr "Tarea agregada"
77 |
78 | #: inc/notificationtargettask.class.php:52
79 | msgid "A task has been updated"
80 | msgstr "Tarea actualizada"
81 |
82 | #: inc/notificationtargettask.class.php:53
83 | msgid "A task has been removed"
84 | msgstr "Tarea eliminada"
85 |
86 | #: inc/notificationtargettask.class.php:217
87 | #: inc/notificationtargettask.class.php:263 inc/task.class.php:205
88 | #: inc/task.class.php:559
89 | msgid "Other client"
90 | msgstr "Otro cliente"
91 |
92 | #: inc/notificationtargettask.class.php:271
93 | msgid "At creation, update, removal of a task"
94 | msgstr "Creación, actualización y borrado de una tarea"
95 |
96 | #: inc/preference.class.php:88
97 | msgid "Context by default"
98 | msgstr "Contexto predefinido"
99 |
100 | #: inc/preference.class.php:96
101 | msgid "Automatic refreshing of tasklist"
102 | msgstr "Actualización automática de la lista de tareas"
103 |
104 | #: inc/preference.class.php:102
105 | msgid "Refresh every "
106 | msgstr "Actualizar cada "
107 |
108 | #: inc/preference.class.php:106
109 | msgid "minute(s)"
110 | msgstr "minuto(s)"
111 |
112 | #: inc/profile.class.php:164 inc/profile.class.php:208
113 | msgid "See and update all tasks"
114 | msgstr "Ver y actualizar todas las tareas"
115 |
116 | #: inc/profile.class.php:173 inc/profile.class.php:211
117 | msgid "Configure contexts and statuses"
118 | msgstr "Configurar contextos y estados"
119 |
120 | #: inc/task.class.php:254
121 | msgctxt "quantity"
122 | msgid "Number of comments"
123 | msgstr "Número de comentarios"
124 |
125 | #: inc/task.class.php:392
126 | msgid "You cannot archive a task with this state"
127 | msgstr "No puedes archivar una tarea con este estado"
128 |
129 | #: inc/task.class.php:522
130 | msgid "Existing client"
131 | msgstr "Cliente existente"
132 |
133 | #: inc/task.class.php:709 inc/task.class.php:790 inc/task.class.php:1085
134 | #: inc/tasktype.class.php:165 inc/tasktype.class.php:526
135 | msgid "Backlog"
136 | msgstr "Reserva"
137 |
138 | #: inc/task.class.php:1143
139 | msgctxt "visibility"
140 | msgid "This user"
141 | msgstr "Este usuario"
142 |
143 | #: inc/task.class.php:1146
144 | msgctxt "visibility"
145 | msgid "This user and this group"
146 | msgstr "Este usuario y su grupo"
147 |
148 | #: inc/task.class.php:1149
149 | msgctxt "visibility"
150 | msgid "All"
151 | msgstr "Todas"
152 |
153 | #: inc/task.class.php:1192
154 | msgid "Affect entity for create task"
155 | msgstr "Afectar entidad para crear tarea"
156 |
157 | #: inc/taskstate.class.php:84
158 | msgid "Status"
159 | msgid_plural "Statuses"
160 | msgstr[0] "Estado"
161 | msgstr[1] "Estados"
162 | msgstr[2] "Estados"
163 |
164 | #: inc/ticket.class.php:74 inc/ticket.class.php:184
165 | msgid "Linked task"
166 | msgid_plural "Linked tasks"
167 | msgstr[0] "Tarea vinculada"
168 | msgstr[1] "Tareas vinculadas"
169 | msgstr[2] "Tareas vinculadas"
170 |
171 | #: inc/ticket.class.php:228
172 | msgid "No task linked to this ticket yet"
173 | msgstr "Aún no hay ninguna tarea vinculada a este ticket"
174 |
175 | #: inc/ticket.class.php:259
176 | msgid "Link a existant ticket"
177 | msgstr "Vincular un ticket existente"
178 |
179 | #: inc/ticket.class.php:285
180 | msgid "Linked tickets"
181 | msgstr "Tickets vinculados"
182 |
183 | #: inc/typevisibility.class.php:138
184 | msgid "Add a group"
185 | msgstr "Agregar un grupo"
186 |
187 | #: inc/typevisibility.class.php:179
188 | msgid "Groups allowed to use context"
189 | msgstr "Grupos permitidos para usar contexto"
190 |
--------------------------------------------------------------------------------
/locales/es_VE.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/InfotelGLPI/tasklists/db68fda7243a85b5ce72dad27eb2c6cf2ea307c0/locales/es_VE.mo
--------------------------------------------------------------------------------
/locales/es_VE.po:
--------------------------------------------------------------------------------
1 | # SOME DESCRIPTIVE TITLE.
2 | # Copyright (C) YEAR Tasklists Development Team
3 | # This file is distributed under the same license as the GLPI - Tasklists plugin package.
4 | # FIRST AUTHOR , YEAR.
5 | #
6 | # Translators:
7 | # Francisco Bolivar, 2024
8 | #
9 | #, fuzzy
10 | msgid ""
11 | msgstr ""
12 | "Project-Id-Version: GLPI - Tasklists plugin\n"
13 | "Report-Msgid-Bugs-To: \n"
14 | "POT-Creation-Date: 2024-12-30 13:49+0000\n"
15 | "PO-Revision-Date: 2020-11-02 16:28+0000\n"
16 | "Last-Translator: Francisco Bolivar, 2024\n"
17 | "Language-Team: Spanish (Venezuela) (https://app.transifex.com/infotelGLPI/teams/79675/es_VE/)\n"
18 | "MIME-Version: 1.0\n"
19 | "Content-Type: text/plain; charset=UTF-8\n"
20 | "Content-Transfer-Encoding: 8bit\n"
21 | "Language: es_VE\n"
22 | "Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
23 |
24 | #: setup.php:87 inc/dashboard.class.php:60 inc/dashboard.class.php:178
25 | #: inc/dashboard.class.php:183 inc/menu.class.php:44
26 | #: inc/preference.class.php:46 inc/profile.class.php:52
27 | msgid "Tasks list"
28 | msgstr "Lista de tareas"
29 |
30 | #: ajax/addOptions.php:30
31 | msgid "Not archived"
32 | msgstr "No archivado"
33 |
34 | #: ajax/addOptions.php:31 inc/task.class.php:197 inc/task.class.php:686
35 | msgid "Archived"
36 | msgstr "Archivado"
37 |
38 | #: inc/dashboard.class.php:59
39 | msgid "Tables"
40 | msgstr "Tablas"
41 |
42 | #: inc/dashboard.class.php:102 inc/task.class.php:96 inc/task.class.php:478
43 | #: inc/taskstate.class.php:137 inc/taskstate.class.php:189
44 | #: inc/tasktype.class.php:52
45 | msgid "Context"
46 | msgid_plural "Contexts"
47 | msgstr[0] "Contexto"
48 | msgstr[1] "De contextos"
49 | msgstr[2] "Contextos"
50 |
51 | #: inc/dashboard.class.php:108 inc/notificationtargettask.class.php:213
52 | #: inc/notificationtargettask.class.php:259 inc/task.class.php:134
53 | #: inc/task.class.php:568 inc/tasktype.class.php:229
54 | msgid "Due date"
55 | msgstr "Fecha de vencimiento"
56 |
57 | #: inc/dashboard.class.php:163 inc/dashboard.class.php:164
58 | #: inc/dashboard.class.php:169 inc/ticket.class.php:154
59 | msgid "Add task"
60 | msgstr "Añadir tarea"
61 |
62 | #: inc/kanban.class.php:76
63 | msgid "Kanban"
64 | msgstr "Kanban"
65 |
66 | #: inc/kanban.class.php:148
67 | msgid "You don't have the right to see any context"
68 | msgstr "No tienes permisos para ver ningún contexto"
69 |
70 | #: inc/kanban.class.php:185
71 | msgid "There is no accessible context"
72 | msgstr "No hay un contexto accesible"
73 |
74 | #: inc/notificationtargettask.class.php:51
75 | msgid "A task has been added"
76 | msgstr "Se ha añadido una tarea"
77 |
78 | #: inc/notificationtargettask.class.php:52
79 | msgid "A task has been updated"
80 | msgstr "Se ha actualizado una tarea"
81 |
82 | #: inc/notificationtargettask.class.php:53
83 | msgid "A task has been removed"
84 | msgstr "Se ha eliminado una tarea"
85 |
86 | #: inc/notificationtargettask.class.php:217
87 | #: inc/notificationtargettask.class.php:263 inc/task.class.php:205
88 | #: inc/task.class.php:559
89 | msgid "Other client"
90 | msgstr "Otro cliente"
91 |
92 | #: inc/notificationtargettask.class.php:271
93 | msgid "At creation, update, removal of a task"
94 | msgstr "En la creación, actualización, eliminación de una tarea"
95 |
96 | #: inc/preference.class.php:88
97 | msgid "Context by default"
98 | msgstr "Contexto por defecto"
99 |
100 | #: inc/preference.class.php:96
101 | msgid "Automatic refreshing of tasklist"
102 | msgstr "Actualización automática de la lista de tareas"
103 |
104 | #: inc/preference.class.php:102
105 | msgid "Refresh every "
106 | msgstr "Actualizar cada "
107 |
108 | #: inc/preference.class.php:106
109 | msgid "minute(s)"
110 | msgstr "minuto(s)"
111 |
112 | #: inc/profile.class.php:164 inc/profile.class.php:208
113 | msgid "See and update all tasks"
114 | msgstr "Ver y actualizar todas las tareas"
115 |
116 | #: inc/profile.class.php:173 inc/profile.class.php:211
117 | msgid "Configure contexts and statuses"
118 | msgstr "Configurar contextos y estados"
119 |
120 | #: inc/task.class.php:254
121 | msgctxt "quantity"
122 | msgid "Number of comments"
123 | msgstr "Número de comentarios"
124 |
125 | #: inc/task.class.php:392
126 | msgid "You cannot archive a task with this state"
127 | msgstr "No puede archivar una tarea con este estado"
128 |
129 | #: inc/task.class.php:522
130 | msgid "Existing client"
131 | msgstr "Cliente existente"
132 |
133 | #: inc/task.class.php:709 inc/task.class.php:790 inc/task.class.php:1085
134 | #: inc/tasktype.class.php:165 inc/tasktype.class.php:526
135 | msgid "Backlog"
136 | msgstr "Atrasos"
137 |
138 | #: inc/task.class.php:1143
139 | msgctxt "visibility"
140 | msgid "This user"
141 | msgstr "Este usuario"
142 |
143 | #: inc/task.class.php:1146
144 | msgctxt "visibility"
145 | msgid "This user and this group"
146 | msgstr "Este usuario y este grupo"
147 |
148 | #: inc/task.class.php:1149
149 | msgctxt "visibility"
150 | msgid "All"
151 | msgstr "Todos"
152 |
153 | #: inc/task.class.php:1192
154 | msgid "Affect entity for create task"
155 | msgstr "Afectar entidad para crear tarea"
156 |
157 | #: inc/taskstate.class.php:84
158 | msgid "Status"
159 | msgid_plural "Statuses"
160 | msgstr[0] "Estado"
161 | msgstr[1] "De estados"
162 | msgstr[2] "Estados"
163 |
164 | #: inc/ticket.class.php:74 inc/ticket.class.php:184
165 | msgid "Linked task"
166 | msgid_plural "Linked tasks"
167 | msgstr[0] "Tarea vinculada"
168 | msgstr[1] "De tareas vinculadas"
169 | msgstr[2] "Tareas vinculadas"
170 |
171 | #: inc/ticket.class.php:228
172 | msgid "No task linked to this ticket yet"
173 | msgstr "Aún no hay ninguna tarea vinculada a este caso"
174 |
175 | #: inc/ticket.class.php:259
176 | msgid "Link a existant ticket"
177 | msgstr "Vincular un caso existente"
178 |
179 | #: inc/ticket.class.php:285
180 | msgid "Linked tickets"
181 | msgstr "Casos vinculados"
182 |
183 | #: inc/typevisibility.class.php:138
184 | msgid "Add a group"
185 | msgstr "Agregar un grupo"
186 |
187 | #: inc/typevisibility.class.php:179
188 | msgid "Groups allowed to use context"
189 | msgstr "Grupos autorizados a usar contexto"
190 |
--------------------------------------------------------------------------------
/locales/fi_FI.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/InfotelGLPI/tasklists/db68fda7243a85b5ce72dad27eb2c6cf2ea307c0/locales/fi_FI.mo
--------------------------------------------------------------------------------
/locales/fi_FI.po:
--------------------------------------------------------------------------------
1 | # SOME DESCRIPTIVE TITLE.
2 | # Copyright (C) YEAR Tasklists Development Team
3 | # This file is distributed under the same license as the GLPI - Tasklists plugin package.
4 | # FIRST AUTHOR , YEAR.
5 | #
6 | # Translators:
7 | # Markku Vepsä, 2018
8 | #
9 | #, fuzzy
10 | msgid ""
11 | msgstr ""
12 | "Project-Id-Version: GLPI - Tasklists plugin 1.4.0\n"
13 | "Report-Msgid-Bugs-To: \n"
14 | "POT-Creation-Date: 2020-07-20 15:07+0200\n"
15 | "PO-Revision-Date: 2017-10-18 16:45+0000\n"
16 | "Last-Translator: Markku Vepsä, 2018\n"
17 | "Language-Team: Finnish (Finland) (https://www.transifex.com/infotelGLPI/teams/79675/fi_FI/)\n"
18 | "MIME-Version: 1.0\n"
19 | "Content-Type: text/plain; charset=UTF-8\n"
20 | "Content-Transfer-Encoding: 8bit\n"
21 | "Language: fi_FI\n"
22 | "Plural-Forms: nplurals=2; plural=(n != 1);\n"
23 |
24 | #: setup.php:89 inc/dashboard.class.php:58 inc/dashboard.class.php:178
25 | #: inc/dashboard.class.php:183 inc/menu.class.php:44
26 | #: inc/preference.class.php:46 inc/profile.class.php:52
27 | msgid "Tasks list"
28 | msgstr "Tehtävien luettelo"
29 |
30 | #: ajax/addOptions.php:31
31 | msgid "Not archived"
32 | msgstr ""
33 |
34 | #: ajax/addOptions.php:32 inc/task.class.php:181 inc/task.class.php:599
35 | msgid "Archived"
36 | msgstr "Arkistoitu"
37 |
38 | #: inc/dashboard.class.php:93 inc/task.class.php:80 inc/task.class.php:418
39 | #: inc/taskstate.class.php:100 inc/taskstate.class.php:152
40 | #: inc/tasktype.class.php:48
41 | msgid "Context"
42 | msgid_plural "Contexts"
43 | msgstr[0] "Asiayhteys"
44 | msgstr[1] "Asiayhteydet"
45 |
46 | #: inc/dashboard.class.php:93 inc/notificationtargettask.class.php:203
47 | #: inc/notificationtargettask.class.php:247 inc/task.class.php:118
48 | #: inc/task.class.php:496 inc/tasktype.class.php:256
49 | msgid "Due date"
50 | msgstr "Määräaika"
51 |
52 | #: inc/dashboard.class.php:164 inc/dashboard.class.php:172
53 | #: inc/kanban.class.php:257 inc/ticket.class.php:154
54 | msgid "Add task"
55 | msgstr "Lisää tehtävä"
56 |
57 | #: inc/kanban.class.php:61
58 | msgid "Kanban"
59 | msgstr "Taulu"
60 |
61 | #: inc/kanban.class.php:121
62 | msgid "You don't have the right to see any context"
63 | msgstr "Sinulla ei ole oikeutta nähdä mitään asiayhteyttä"
64 |
65 | #: inc/kanban.class.php:188
66 | msgid "There is no accessible context"
67 | msgstr ""
68 |
69 | #: inc/kanban.class.php:247
70 | msgid "Toggle collapse"
71 | msgstr ""
72 |
73 | #: inc/kanban.class.php:248
74 | msgid "Search"
75 | msgstr ""
76 |
77 | #: inc/kanban.class.php:249
78 | msgid "Search or filter results"
79 | msgstr ""
80 |
81 | #: inc/kanban.class.php:250
82 | msgid "Add status"
83 | msgstr ""
84 |
85 | #: inc/kanban.class.php:251
86 | msgid "Create status"
87 | msgstr ""
88 |
89 | #: inc/kanban.class.php:253
90 | msgid "Add a column from existing status"
91 | msgstr ""
92 |
93 | #: inc/kanban.class.php:254
94 | msgid "Or add a new status"
95 | msgstr ""
96 |
97 | #: inc/kanban.class.php:259
98 | msgid "Archive all tasks of this state"
99 | msgstr "Arkistoi kaikki tässä tilassa olevat tehtävät"
100 |
101 | #: inc/kanban.class.php:260
102 | msgid "See archived tasks"
103 | msgstr "Näytä arkistoidut tehtävät"
104 |
105 | #: inc/kanban.class.php:261
106 | msgid "Hide archived tasks"
107 | msgstr "Piilota arkistoidut tehtävät"
108 |
109 | #: inc/kanban.class.php:262
110 | msgid "Clone task"
111 | msgstr "Monista tehtävä"
112 |
113 | #: inc/kanban.class.php:263
114 | msgid "See tasks in progress"
115 | msgstr "Katso käynnissä olevat tehtävät"
116 |
117 | #: inc/kanban.class.php:264
118 | msgid "See tasks of"
119 | msgstr "Näytä tehtävät"
120 |
121 | #: inc/kanban.class.php:265
122 | msgid "See all tasks"
123 | msgstr "Näytä kaikki tehtävät"
124 |
125 | #: inc/kanban.class.php:266
126 | msgid "Are you sure you want to archive this task ?"
127 | msgstr "Haluatko varmasti arkistoida tämän tehtävän?"
128 |
129 | #: inc/kanban.class.php:267
130 | msgid "Are you sure you want to archive all tasks ?"
131 | msgstr "Haluatko varmasti arkistoida kaikki tehtävät?"
132 |
133 | #: inc/kanban.class.php:268
134 | msgid "Archive this task"
135 | msgstr "Arkistoi tämä tehtävä"
136 |
137 | #: inc/kanban.class.php:269
138 | msgid "Update priority of task"
139 | msgstr "Päivitä tehtävän prioriteetti"
140 |
141 | #: inc/kanban.class.php:270
142 | msgid "Details of task"
143 | msgstr "Tehtävän lisätiedot"
144 |
145 | #: inc/notificationtargettask.class.php:50
146 | msgid "A task has been added"
147 | msgstr "Tehtävä on lisätty"
148 |
149 | #: inc/notificationtargettask.class.php:51
150 | msgid "A task has been updated"
151 | msgstr "Tehtävä on päivitetty"
152 |
153 | #: inc/notificationtargettask.class.php:52
154 | msgid "A task has been removed"
155 | msgstr "Tehtävä on poistettu"
156 |
157 | #: inc/notificationtargettask.class.php:207
158 | #: inc/notificationtargettask.class.php:251 inc/task.class.php:189
159 | #: inc/task.class.php:486
160 | msgid "Other client"
161 | msgstr "Muu asiakas"
162 |
163 | #: inc/notificationtargettask.class.php:259
164 | msgid "At creation, update, removal of a task"
165 | msgstr "Luonti, päivitys, tehtävän poisto"
166 |
167 | #: inc/preference.class.php:80
168 | msgid "Context by default"
169 | msgstr "Asiayhteys oletuksena"
170 |
171 | #: inc/preference.class.php:88
172 | msgid "Automatic refreshing of tasklist"
173 | msgstr ""
174 |
175 | #: inc/preference.class.php:94
176 | msgid "Refresh every "
177 | msgstr ""
178 |
179 | #: inc/preference.class.php:98
180 | msgid "minute(s)"
181 | msgstr ""
182 |
183 | #: inc/profile.class.php:153 inc/profile.class.php:196
184 | msgid "See and update all tasks"
185 | msgstr "Näytä ja päivitä kaikki tehtävät"
186 |
187 | #: inc/profile.class.php:162 inc/profile.class.php:199
188 | msgid "Configure contexts and statuses"
189 | msgstr ""
190 |
191 | #: inc/stateorder.class.php:96
192 | msgid "States ordering"
193 | msgstr "Tilojen järjestely"
194 |
195 | #: inc/stateorder.class.php:156
196 | msgid "Add states from linked Kanban"
197 | msgstr ""
198 |
199 | #: inc/task.class.php:333
200 | msgid "You cannot archive a task with this state"
201 | msgstr "Et voi arkistoida tässä tilassa olevaa tehtävää"
202 |
203 | #: inc/task.class.php:457
204 | msgid "Existing client"
205 | msgstr "Olemassa oleva asiakas"
206 |
207 | #: inc/task.class.php:622 inc/task.class.php:709 inc/task.class.php:985
208 | #: inc/tasktype.class.php:161
209 | msgid "Backlog"
210 | msgstr "Jono"
211 |
212 | #: inc/task.class.php:1045
213 | msgctxt "visibility"
214 | msgid "This user"
215 | msgstr "Tämä käyttäjä"
216 |
217 | #: inc/task.class.php:1048
218 | msgctxt "visibility"
219 | msgid "This user and this group"
220 | msgstr "Tämä käyttäjä ja tämä ryhmä"
221 |
222 | #: inc/task.class.php:1051
223 | msgctxt "visibility"
224 | msgid "All"
225 | msgstr "Kaikki"
226 |
227 | #: inc/task.class.php:1093
228 | msgid "Affect entity for create task"
229 | msgstr "Kohdista tehtävä yksikköön"
230 |
231 | #: inc/ticket.class.php:74 inc/ticket.class.php:183
232 | msgid "Linked task"
233 | msgid_plural "Linked tasks"
234 | msgstr[0] "Liitetty tehtävä"
235 | msgstr[1] "Liitetyt tehtävät"
236 |
237 | #: inc/ticket.class.php:227
238 | msgid "No task linked to this ticket yet"
239 | msgstr "Tikettiin ei vielä ole liitetty tehtävää"
240 |
241 | #: inc/ticket.class.php:258
242 | msgid "Link a existant ticket"
243 | msgstr "Liitä olemassa oleva tiketti"
244 |
245 | #: inc/ticket.class.php:284
246 | msgid "Linked tickets"
247 | msgstr "Liitetyt tiketit"
248 |
249 | #: inc/typevisibility.class.php:138
250 | msgid "Add a group"
251 | msgstr "Lisää ryhmä"
252 |
253 | #: inc/typevisibility.class.php:179
254 | msgid "Groups allowed to use context"
255 | msgstr "Sallitut ryhmät"
256 |
--------------------------------------------------------------------------------
/locales/fr_FR.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/InfotelGLPI/tasklists/db68fda7243a85b5ce72dad27eb2c6cf2ea307c0/locales/fr_FR.mo
--------------------------------------------------------------------------------
/locales/fr_FR.po:
--------------------------------------------------------------------------------
1 | # SOME DESCRIPTIVE TITLE.
2 | # Copyright (C) YEAR Tasklists Development Team
3 | # This file is distributed under the same license as the GLPI - Tasklists plugin package.
4 | # FIRST AUTHOR , YEAR.
5 | #
6 | # Translators:
7 | # Xavier CAILLAUD , 2022
8 | #
9 | #, fuzzy
10 | msgid ""
11 | msgstr ""
12 | "Project-Id-Version: GLPI - Tasklists plugin\n"
13 | "Report-Msgid-Bugs-To: \n"
14 | "POT-Creation-Date: 2024-12-30 13:49+0000\n"
15 | "PO-Revision-Date: 2020-11-02 16:28+0000\n"
16 | "Last-Translator: Xavier CAILLAUD , 2022\n"
17 | "Language-Team: French (France) (https://app.transifex.com/infotelGLPI/teams/79675/fr_FR/)\n"
18 | "MIME-Version: 1.0\n"
19 | "Content-Type: text/plain; charset=UTF-8\n"
20 | "Content-Transfer-Encoding: 8bit\n"
21 | "Language: fr_FR\n"
22 | "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
23 |
24 | #: setup.php:87 inc/dashboard.class.php:60 inc/dashboard.class.php:178
25 | #: inc/dashboard.class.php:183 inc/menu.class.php:44
26 | #: inc/preference.class.php:46 inc/profile.class.php:52
27 | msgid "Tasks list"
28 | msgstr "Liste des tâches"
29 |
30 | #: ajax/addOptions.php:30
31 | msgid "Not archived"
32 | msgstr "Non archivé"
33 |
34 | #: ajax/addOptions.php:31 inc/task.class.php:197 inc/task.class.php:686
35 | msgid "Archived"
36 | msgstr "Archivé"
37 |
38 | #: inc/dashboard.class.php:59
39 | msgid "Tables"
40 | msgstr "Tableaux"
41 |
42 | #: inc/dashboard.class.php:102 inc/task.class.php:96 inc/task.class.php:478
43 | #: inc/taskstate.class.php:137 inc/taskstate.class.php:189
44 | #: inc/tasktype.class.php:52
45 | msgid "Context"
46 | msgid_plural "Contexts"
47 | msgstr[0] "Contexte"
48 | msgstr[1] "Contextes"
49 | msgstr[2] "Contextes"
50 |
51 | #: inc/dashboard.class.php:108 inc/notificationtargettask.class.php:213
52 | #: inc/notificationtargettask.class.php:259 inc/task.class.php:134
53 | #: inc/task.class.php:568 inc/tasktype.class.php:229
54 | msgid "Due date"
55 | msgstr "Date d'échéance"
56 |
57 | #: inc/dashboard.class.php:163 inc/dashboard.class.php:164
58 | #: inc/dashboard.class.php:169 inc/ticket.class.php:154
59 | msgid "Add task"
60 | msgstr "Ajouter une tâche"
61 |
62 | #: inc/kanban.class.php:76
63 | msgid "Kanban"
64 | msgstr "Kanban"
65 |
66 | #: inc/kanban.class.php:148
67 | msgid "You don't have the right to see any context"
68 | msgstr "Vous n'avez pas le droit de voir de contexte"
69 |
70 | #: inc/kanban.class.php:185
71 | msgid "There is no accessible context"
72 | msgstr "Il n'y a pas de contexte accessible"
73 |
74 | #: inc/notificationtargettask.class.php:51
75 | msgid "A task has been added"
76 | msgstr "Une tâche a été ajoutée"
77 |
78 | #: inc/notificationtargettask.class.php:52
79 | msgid "A task has been updated"
80 | msgstr "Une tâche a été mise à jour"
81 |
82 | #: inc/notificationtargettask.class.php:53
83 | msgid "A task has been removed"
84 | msgstr "Une tâche a été supprimée"
85 |
86 | #: inc/notificationtargettask.class.php:217
87 | #: inc/notificationtargettask.class.php:263 inc/task.class.php:205
88 | #: inc/task.class.php:559
89 | msgid "Other client"
90 | msgstr "Autre client"
91 |
92 | #: inc/notificationtargettask.class.php:271
93 | msgid "At creation, update, removal of a task"
94 | msgstr "A la création, mise à jour et suppression d'un tâche"
95 |
96 | #: inc/preference.class.php:88
97 | msgid "Context by default"
98 | msgstr "Contexte par défaut"
99 |
100 | #: inc/preference.class.php:96
101 | msgid "Automatic refreshing of tasklist"
102 | msgstr "Rafraîchissement automatique des listes de tâches"
103 |
104 | #: inc/preference.class.php:102
105 | msgid "Refresh every "
106 | msgstr "Rafraîchir toutes les"
107 |
108 | #: inc/preference.class.php:106
109 | msgid "minute(s)"
110 | msgstr "minute(s)"
111 |
112 | #: inc/profile.class.php:164 inc/profile.class.php:208
113 | msgid "See and update all tasks"
114 | msgstr "Voir et mettre à jour toutes les tâches"
115 |
116 | #: inc/profile.class.php:173 inc/profile.class.php:211
117 | msgid "Configure contexts and statuses"
118 | msgstr "Configurer les contextes et les statuts"
119 |
120 | #: inc/task.class.php:254
121 | msgctxt "quantity"
122 | msgid "Number of comments"
123 | msgstr "Nombre de commentaires"
124 |
125 | #: inc/task.class.php:392
126 | msgid "You cannot archive a task with this state"
127 | msgstr "Vous ne pouvez pas archiver une tâche ayant ce statut"
128 |
129 | #: inc/task.class.php:522
130 | msgid "Existing client"
131 | msgstr "Client existant"
132 |
133 | #: inc/task.class.php:709 inc/task.class.php:790 inc/task.class.php:1085
134 | #: inc/tasktype.class.php:165 inc/tasktype.class.php:526
135 | msgid "Backlog"
136 | msgstr "Backlog"
137 |
138 | #: inc/task.class.php:1143
139 | msgctxt "visibility"
140 | msgid "This user"
141 | msgstr "Cet utilisateur"
142 |
143 | #: inc/task.class.php:1146
144 | msgctxt "visibility"
145 | msgid "This user and this group"
146 | msgstr "Cet utilisateur et ce groupe"
147 |
148 | #: inc/task.class.php:1149
149 | msgctxt "visibility"
150 | msgid "All"
151 | msgstr "Tout le monde"
152 |
153 | #: inc/task.class.php:1192
154 | msgid "Affect entity for create task"
155 | msgstr "Affecter une entité pour une création de tâche"
156 |
157 | #: inc/taskstate.class.php:84
158 | msgid "Status"
159 | msgid_plural "Statuses"
160 | msgstr[0] "Statut"
161 | msgstr[1] "Statuts"
162 | msgstr[2] "Statuts"
163 |
164 | #: inc/ticket.class.php:74 inc/ticket.class.php:184
165 | msgid "Linked task"
166 | msgid_plural "Linked tasks"
167 | msgstr[0] "Tâche liée"
168 | msgstr[1] "Tâches liées"
169 | msgstr[2] "Tâches liées"
170 |
171 | #: inc/ticket.class.php:228
172 | msgid "No task linked to this ticket yet"
173 | msgstr "Pas de tâche liée à ce ticket"
174 |
175 | #: inc/ticket.class.php:259
176 | msgid "Link a existant ticket"
177 | msgstr "Lier à un ticket existant"
178 |
179 | #: inc/ticket.class.php:285
180 | msgid "Linked tickets"
181 | msgstr "Tickets liés"
182 |
183 | #: inc/typevisibility.class.php:138
184 | msgid "Add a group"
185 | msgstr "Ajouter un groupe"
186 |
187 | #: inc/typevisibility.class.php:179
188 | msgid "Groups allowed to use context"
189 | msgstr "Groupes autorisés à utiliser ce contexte"
190 |
--------------------------------------------------------------------------------
/locales/glpi.pot:
--------------------------------------------------------------------------------
1 | # SOME DESCRIPTIVE TITLE.
2 | # Copyright (C) YEAR Tasklists Development Team
3 | # This file is distributed under the same license as the GLPI - Tasklists plugin package.
4 | # FIRST AUTHOR , YEAR.
5 | #
6 | #, fuzzy
7 | msgid ""
8 | msgstr ""
9 | "Project-Id-Version: GLPI - Tasklists plugin\n"
10 | "Report-Msgid-Bugs-To: \n"
11 | "POT-Creation-Date: 2024-12-30 13:55+0000\n"
12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13 | "Last-Translator: FULL NAME \n"
14 | "Language-Team: LANGUAGE \n"
15 | "Language: \n"
16 | "MIME-Version: 1.0\n"
17 | "Content-Type: text/plain; charset=CHARSET\n"
18 | "Content-Transfer-Encoding: 8bit\n"
19 | "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
20 |
21 | #: setup.php:87 inc/dashboard.class.php:60 inc/dashboard.class.php:178
22 | #: inc/dashboard.class.php:183 inc/menu.class.php:44
23 | #: inc/preference.class.php:46 inc/profile.class.php:52
24 | msgid "Tasks list"
25 | msgstr ""
26 |
27 | #: ajax/addOptions.php:30
28 | msgid "Not archived"
29 | msgstr ""
30 |
31 | #: ajax/addOptions.php:31 inc/task.class.php:197 inc/task.class.php:686
32 | msgid "Archived"
33 | msgstr ""
34 |
35 | #: inc/dashboard.class.php:59
36 | msgid "Tables"
37 | msgstr ""
38 |
39 | #: inc/dashboard.class.php:102 inc/task.class.php:96 inc/task.class.php:478
40 | #: inc/taskstate.class.php:137 inc/taskstate.class.php:189
41 | #: inc/tasktype.class.php:52
42 | msgid "Context"
43 | msgid_plural "Contexts"
44 | msgstr[0] ""
45 | msgstr[1] ""
46 |
47 | #: inc/dashboard.class.php:108 inc/notificationtargettask.class.php:213
48 | #: inc/notificationtargettask.class.php:259 inc/task.class.php:134
49 | #: inc/task.class.php:568 inc/tasktype.class.php:229
50 | msgid "Due date"
51 | msgstr ""
52 |
53 | #: inc/dashboard.class.php:163 inc/dashboard.class.php:164
54 | #: inc/dashboard.class.php:169 inc/ticket.class.php:154
55 | msgid "Add task"
56 | msgstr ""
57 |
58 | #: inc/kanban.class.php:76
59 | msgid "Kanban"
60 | msgstr ""
61 |
62 | #: inc/kanban.class.php:148
63 | msgid "You don't have the right to see any context"
64 | msgstr ""
65 |
66 | #: inc/kanban.class.php:185
67 | msgid "There is no accessible context"
68 | msgstr ""
69 |
70 | #: inc/notificationtargettask.class.php:51
71 | msgid "A task has been added"
72 | msgstr ""
73 |
74 | #: inc/notificationtargettask.class.php:52
75 | msgid "A task has been updated"
76 | msgstr ""
77 |
78 | #: inc/notificationtargettask.class.php:53
79 | msgid "A task has been removed"
80 | msgstr ""
81 |
82 | #: inc/notificationtargettask.class.php:217
83 | #: inc/notificationtargettask.class.php:263 inc/task.class.php:205
84 | #: inc/task.class.php:559
85 | msgid "Other client"
86 | msgstr ""
87 |
88 | #: inc/notificationtargettask.class.php:271
89 | msgid "At creation, update, removal of a task"
90 | msgstr ""
91 |
92 | #: inc/preference.class.php:88
93 | msgid "Context by default"
94 | msgstr ""
95 |
96 | #: inc/preference.class.php:96
97 | msgid "Automatic refreshing of tasklist"
98 | msgstr ""
99 |
100 | #: inc/preference.class.php:102
101 | msgid "Refresh every "
102 | msgstr ""
103 |
104 | #: inc/preference.class.php:106
105 | msgid "minute(s)"
106 | msgstr ""
107 |
108 | #: inc/profile.class.php:164 inc/profile.class.php:208
109 | msgid "See and update all tasks"
110 | msgstr ""
111 |
112 | #: inc/profile.class.php:173 inc/profile.class.php:211
113 | msgid "Configure contexts and statuses"
114 | msgstr ""
115 |
116 | #: inc/task.class.php:254
117 | msgctxt "quantity"
118 | msgid "Number of comments"
119 | msgstr ""
120 |
121 | #: inc/task.class.php:392
122 | msgid "You cannot archive a task with this state"
123 | msgstr ""
124 |
125 | #: inc/task.class.php:522
126 | msgid "Existing client"
127 | msgstr ""
128 |
129 | #: inc/task.class.php:709 inc/task.class.php:790 inc/task.class.php:1085
130 | #: inc/tasktype.class.php:165 inc/tasktype.class.php:526
131 | msgid "Backlog"
132 | msgstr ""
133 |
134 | #: inc/task.class.php:1143
135 | msgctxt "visibility"
136 | msgid "This user"
137 | msgstr ""
138 |
139 | #: inc/task.class.php:1146
140 | msgctxt "visibility"
141 | msgid "This user and this group"
142 | msgstr ""
143 |
144 | #: inc/task.class.php:1149
145 | msgctxt "visibility"
146 | msgid "All"
147 | msgstr ""
148 |
149 | #: inc/task.class.php:1192
150 | msgid "Affect entity for create task"
151 | msgstr ""
152 |
153 | #: inc/taskstate.class.php:84
154 | msgid "Status"
155 | msgid_plural "Statuses"
156 | msgstr[0] ""
157 | msgstr[1] ""
158 |
159 | #: inc/ticket.class.php:74 inc/ticket.class.php:184
160 | msgid "Linked task"
161 | msgid_plural "Linked tasks"
162 | msgstr[0] ""
163 | msgstr[1] ""
164 |
165 | #: inc/ticket.class.php:228
166 | msgid "No task linked to this ticket yet"
167 | msgstr ""
168 |
169 | #: inc/ticket.class.php:259
170 | msgid "Link a existant ticket"
171 | msgstr ""
172 |
173 | #: inc/ticket.class.php:285
174 | msgid "Linked tickets"
175 | msgstr ""
176 |
177 | #: inc/typevisibility.class.php:138
178 | msgid "Add a group"
179 | msgstr ""
180 |
181 | #: inc/typevisibility.class.php:179
182 | msgid "Groups allowed to use context"
183 | msgstr ""
184 |
--------------------------------------------------------------------------------
/locales/ja_JP.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/InfotelGLPI/tasklists/db68fda7243a85b5ce72dad27eb2c6cf2ea307c0/locales/ja_JP.mo
--------------------------------------------------------------------------------
/locales/ja_JP.po:
--------------------------------------------------------------------------------
1 | # SOME DESCRIPTIVE TITLE.
2 | # Copyright (C) YEAR Tasklists Development Team
3 | # This file is distributed under the same license as the GLPI - Tasklists plugin package.
4 | # FIRST AUTHOR , YEAR.
5 | #
6 | # Translators:
7 | # INOUE Daisuke, 2024
8 | #
9 | #, fuzzy
10 | msgid ""
11 | msgstr ""
12 | "Project-Id-Version: GLPI - Tasklists plugin\n"
13 | "Report-Msgid-Bugs-To: \n"
14 | "POT-Creation-Date: 2024-12-30 13:49+0000\n"
15 | "PO-Revision-Date: 2020-11-02 16:28+0000\n"
16 | "Last-Translator: INOUE Daisuke, 2024\n"
17 | "Language-Team: Japanese (Japan) (https://app.transifex.com/infotelGLPI/teams/79675/ja_JP/)\n"
18 | "MIME-Version: 1.0\n"
19 | "Content-Type: text/plain; charset=UTF-8\n"
20 | "Content-Transfer-Encoding: 8bit\n"
21 | "Language: ja_JP\n"
22 | "Plural-Forms: nplurals=1; plural=0;\n"
23 |
24 | #: setup.php:87 inc/dashboard.class.php:60 inc/dashboard.class.php:178
25 | #: inc/dashboard.class.php:183 inc/menu.class.php:44
26 | #: inc/preference.class.php:46 inc/profile.class.php:52
27 | msgid "Tasks list"
28 | msgstr "タスクリスト"
29 |
30 | #: ajax/addOptions.php:30
31 | msgid "Not archived"
32 | msgstr "未保管"
33 |
34 | #: ajax/addOptions.php:31 inc/task.class.php:197 inc/task.class.php:686
35 | msgid "Archived"
36 | msgstr "保管済み"
37 |
38 | #: inc/dashboard.class.php:59
39 | msgid "Tables"
40 | msgstr "テーブル"
41 |
42 | #: inc/dashboard.class.php:102 inc/task.class.php:96 inc/task.class.php:478
43 | #: inc/taskstate.class.php:137 inc/taskstate.class.php:189
44 | #: inc/tasktype.class.php:52
45 | msgid "Context"
46 | msgid_plural "Contexts"
47 | msgstr[0] "コンテキスト"
48 |
49 | #: inc/dashboard.class.php:108 inc/notificationtargettask.class.php:213
50 | #: inc/notificationtargettask.class.php:259 inc/task.class.php:134
51 | #: inc/task.class.php:568 inc/tasktype.class.php:229
52 | msgid "Due date"
53 | msgstr "期限"
54 |
55 | #: inc/dashboard.class.php:163 inc/dashboard.class.php:164
56 | #: inc/dashboard.class.php:169 inc/ticket.class.php:154
57 | msgid "Add task"
58 | msgstr "タスクの追加"
59 |
60 | #: inc/kanban.class.php:76
61 | msgid "Kanban"
62 | msgstr "カンバン"
63 |
64 | #: inc/kanban.class.php:148
65 | msgid "You don't have the right to see any context"
66 | msgstr "コンテキストを表示する権限がありません"
67 |
68 | #: inc/kanban.class.php:185
69 | msgid "There is no accessible context"
70 | msgstr "開くことができるコンテキストがありません"
71 |
72 | #: inc/notificationtargettask.class.php:51
73 | msgid "A task has been added"
74 | msgstr "タスクを追加しました"
75 |
76 | #: inc/notificationtargettask.class.php:52
77 | msgid "A task has been updated"
78 | msgstr "タスクを更新しました"
79 |
80 | #: inc/notificationtargettask.class.php:53
81 | msgid "A task has been removed"
82 | msgstr "タスクを削除しました"
83 |
84 | #: inc/notificationtargettask.class.php:217
85 | #: inc/notificationtargettask.class.php:263 inc/task.class.php:205
86 | #: inc/task.class.php:559
87 | msgid "Other client"
88 | msgstr "その他のクライアント"
89 |
90 | #: inc/notificationtargettask.class.php:271
91 | msgid "At creation, update, removal of a task"
92 | msgstr "タスクの作成、更新、削除時"
93 |
94 | #: inc/preference.class.php:88
95 | msgid "Context by default"
96 | msgstr "デフォルトのコンテキスト"
97 |
98 | #: inc/preference.class.php:96
99 | msgid "Automatic refreshing of tasklist"
100 | msgstr "タスクリストの自動画面更新"
101 |
102 | #: inc/preference.class.php:102
103 | msgid "Refresh every "
104 | msgstr "更新間隔"
105 |
106 | #: inc/preference.class.php:106
107 | msgid "minute(s)"
108 | msgstr "分"
109 |
110 | #: inc/profile.class.php:164 inc/profile.class.php:208
111 | msgid "See and update all tasks"
112 | msgstr "すべてのタスクを表示・更新"
113 |
114 | #: inc/profile.class.php:173 inc/profile.class.php:211
115 | msgid "Configure contexts and statuses"
116 | msgstr "コンテキストと状態の設定"
117 |
118 | #: inc/task.class.php:254
119 | msgctxt "quantity"
120 | msgid "Number of comments"
121 | msgstr "コメント数"
122 |
123 | #: inc/task.class.php:392
124 | msgid "You cannot archive a task with this state"
125 | msgstr "この状態のタスクを保管できません"
126 |
127 | #: inc/task.class.php:522
128 | msgid "Existing client"
129 | msgstr "既存のクライアント"
130 |
131 | #: inc/task.class.php:709 inc/task.class.php:790 inc/task.class.php:1085
132 | #: inc/tasktype.class.php:165 inc/tasktype.class.php:526
133 | msgid "Backlog"
134 | msgstr "バックログ"
135 |
136 | #: inc/task.class.php:1143
137 | msgctxt "visibility"
138 | msgid "This user"
139 | msgstr "このユーザー"
140 |
141 | #: inc/task.class.php:1146
142 | msgctxt "visibility"
143 | msgid "This user and this group"
144 | msgstr "このユーザーとグループ"
145 |
146 | #: inc/task.class.php:1149
147 | msgctxt "visibility"
148 | msgid "All"
149 | msgstr "すべて"
150 |
151 | #: inc/task.class.php:1192
152 | msgid "Affect entity for create task"
153 | msgstr "タスクを作成してエンティティ―に影響を与える"
154 |
155 | #: inc/taskstate.class.php:84
156 | msgid "Status"
157 | msgid_plural "Statuses"
158 | msgstr[0] "状態"
159 |
160 | #: inc/ticket.class.php:74 inc/ticket.class.php:184
161 | msgid "Linked task"
162 | msgid_plural "Linked tasks"
163 | msgstr[0] "リンクしたタスク"
164 |
165 | #: inc/ticket.class.php:228
166 | msgid "No task linked to this ticket yet"
167 | msgstr "このチケットにリンクしているタスクはありません"
168 |
169 | #: inc/ticket.class.php:259
170 | msgid "Link a existant ticket"
171 | msgstr "既存のチケットにリンクする"
172 |
173 | #: inc/ticket.class.php:285
174 | msgid "Linked tickets"
175 | msgstr "リンクしているチケット"
176 |
177 | #: inc/typevisibility.class.php:138
178 | msgid "Add a group"
179 | msgstr "グループを追加"
180 |
181 | #: inc/typevisibility.class.php:179
182 | msgid "Groups allowed to use context"
183 | msgstr "コンテキストの利用を許可しているグループ"
184 |
--------------------------------------------------------------------------------
/locales/pl_PL.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/InfotelGLPI/tasklists/db68fda7243a85b5ce72dad27eb2c6cf2ea307c0/locales/pl_PL.mo
--------------------------------------------------------------------------------
/locales/pl_PL.po:
--------------------------------------------------------------------------------
1 | # SOME DESCRIPTIVE TITLE.
2 | # Copyright (C) YEAR Tasklists Development Team
3 | # This file is distributed under the same license as the GLPI - Tasklists plugin package.
4 | # FIRST AUTHOR , YEAR.
5 | #
6 | # Translators:
7 | # Ryszard Jeziorski , 2019
8 | #
9 | #, fuzzy
10 | msgid ""
11 | msgstr ""
12 | "Project-Id-Version: GLPI - Tasklists plugin 1.4.0\n"
13 | "Report-Msgid-Bugs-To: \n"
14 | "POT-Creation-Date: 2020-07-20 15:07+0200\n"
15 | "PO-Revision-Date: 2017-10-18 16:45+0000\n"
16 | "Last-Translator: Ryszard Jeziorski , 2019\n"
17 | "Language-Team: Polish (Poland) (https://www.transifex.com/infotelGLPI/teams/79675/pl_PL/)\n"
18 | "MIME-Version: 1.0\n"
19 | "Content-Type: text/plain; charset=UTF-8\n"
20 | "Content-Transfer-Encoding: 8bit\n"
21 | "Language: pl_PL\n"
22 | "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
23 |
24 | #: setup.php:89 inc/dashboard.class.php:58 inc/dashboard.class.php:178
25 | #: inc/dashboard.class.php:183 inc/menu.class.php:44
26 | #: inc/preference.class.php:46 inc/profile.class.php:52
27 | msgid "Tasks list"
28 | msgstr "Lista zadań"
29 |
30 | #: ajax/addOptions.php:31
31 | msgid "Not archived"
32 | msgstr ""
33 |
34 | #: ajax/addOptions.php:32 inc/task.class.php:181 inc/task.class.php:599
35 | msgid "Archived"
36 | msgstr "Zarchiwizowane"
37 |
38 | #: inc/dashboard.class.php:93 inc/task.class.php:80 inc/task.class.php:418
39 | #: inc/taskstate.class.php:100 inc/taskstate.class.php:152
40 | #: inc/tasktype.class.php:48
41 | msgid "Context"
42 | msgid_plural "Contexts"
43 | msgstr[0] "Kontekst"
44 | msgstr[1] "Konteksty"
45 | msgstr[2] "Kontekstów"
46 | msgstr[3] "Kontekst"
47 |
48 | #: inc/dashboard.class.php:93 inc/notificationtargettask.class.php:203
49 | #: inc/notificationtargettask.class.php:247 inc/task.class.php:118
50 | #: inc/task.class.php:496 inc/tasktype.class.php:256
51 | msgid "Due date"
52 | msgstr "Data zakończenia"
53 |
54 | #: inc/dashboard.class.php:164 inc/dashboard.class.php:172
55 | #: inc/kanban.class.php:257 inc/ticket.class.php:154
56 | msgid "Add task"
57 | msgstr "Dodaj zadanie"
58 |
59 | #: inc/kanban.class.php:61
60 | msgid "Kanban"
61 | msgstr "Kanban"
62 |
63 | #: inc/kanban.class.php:121
64 | msgid "You don't have the right to see any context"
65 | msgstr ""
66 |
67 | #: inc/kanban.class.php:188
68 | msgid "There is no accessible context"
69 | msgstr ""
70 |
71 | #: inc/kanban.class.php:247
72 | msgid "Toggle collapse"
73 | msgstr ""
74 |
75 | #: inc/kanban.class.php:248
76 | msgid "Search"
77 | msgstr ""
78 |
79 | #: inc/kanban.class.php:249
80 | msgid "Search or filter results"
81 | msgstr ""
82 |
83 | #: inc/kanban.class.php:250
84 | msgid "Add status"
85 | msgstr ""
86 |
87 | #: inc/kanban.class.php:251
88 | msgid "Create status"
89 | msgstr ""
90 |
91 | #: inc/kanban.class.php:253
92 | msgid "Add a column from existing status"
93 | msgstr ""
94 |
95 | #: inc/kanban.class.php:254
96 | msgid "Or add a new status"
97 | msgstr ""
98 |
99 | #: inc/kanban.class.php:259
100 | msgid "Archive all tasks of this state"
101 | msgstr ""
102 |
103 | #: inc/kanban.class.php:260
104 | msgid "See archived tasks"
105 | msgstr "Zadania zarchiwizowane"
106 |
107 | #: inc/kanban.class.php:261
108 | msgid "Hide archived tasks"
109 | msgstr "Ukryj zarchiwizowane zadania"
110 |
111 | #: inc/kanban.class.php:262
112 | msgid "Clone task"
113 | msgstr "Sklonuj zadanie"
114 |
115 | #: inc/kanban.class.php:263
116 | msgid "See tasks in progress"
117 | msgstr "Zadania wykonywane"
118 |
119 | #: inc/kanban.class.php:264
120 | msgid "See tasks of"
121 | msgstr "Zadania użytkownika"
122 |
123 | #: inc/kanban.class.php:265
124 | msgid "See all tasks"
125 | msgstr "Wszystkie zadania"
126 |
127 | #: inc/kanban.class.php:266
128 | msgid "Are you sure you want to archive this task ?"
129 | msgstr ""
130 |
131 | #: inc/kanban.class.php:267
132 | msgid "Are you sure you want to archive all tasks ?"
133 | msgstr ""
134 |
135 | #: inc/kanban.class.php:268
136 | msgid "Archive this task"
137 | msgstr ""
138 |
139 | #: inc/kanban.class.php:269
140 | msgid "Update priority of task"
141 | msgstr ""
142 |
143 | #: inc/kanban.class.php:270
144 | msgid "Details of task"
145 | msgstr "Szczegóły zdania"
146 |
147 | #: inc/notificationtargettask.class.php:50
148 | msgid "A task has been added"
149 | msgstr "Dodano zadanie"
150 |
151 | #: inc/notificationtargettask.class.php:51
152 | msgid "A task has been updated"
153 | msgstr "Zaktualizowano zadanie"
154 |
155 | #: inc/notificationtargettask.class.php:52
156 | msgid "A task has been removed"
157 | msgstr "Usunięto zadanie"
158 |
159 | #: inc/notificationtargettask.class.php:207
160 | #: inc/notificationtargettask.class.php:251 inc/task.class.php:189
161 | #: inc/task.class.php:486
162 | msgid "Other client"
163 | msgstr "Inny klient"
164 |
165 | #: inc/notificationtargettask.class.php:259
166 | msgid "At creation, update, removal of a task"
167 | msgstr ""
168 |
169 | #: inc/preference.class.php:80
170 | msgid "Context by default"
171 | msgstr ""
172 |
173 | #: inc/preference.class.php:88
174 | msgid "Automatic refreshing of tasklist"
175 | msgstr ""
176 |
177 | #: inc/preference.class.php:94
178 | msgid "Refresh every "
179 | msgstr ""
180 |
181 | #: inc/preference.class.php:98
182 | msgid "minute(s)"
183 | msgstr ""
184 |
185 | #: inc/profile.class.php:153 inc/profile.class.php:196
186 | msgid "See and update all tasks"
187 | msgstr ""
188 |
189 | #: inc/profile.class.php:162 inc/profile.class.php:199
190 | msgid "Configure contexts and statuses"
191 | msgstr ""
192 |
193 | #: inc/stateorder.class.php:96
194 | msgid "States ordering"
195 | msgstr ""
196 |
197 | #: inc/stateorder.class.php:156
198 | msgid "Add states from linked Kanban"
199 | msgstr ""
200 |
201 | #: inc/task.class.php:333
202 | msgid "You cannot archive a task with this state"
203 | msgstr ""
204 |
205 | #: inc/task.class.php:457
206 | msgid "Existing client"
207 | msgstr ""
208 |
209 | #: inc/task.class.php:622 inc/task.class.php:709 inc/task.class.php:985
210 | #: inc/tasktype.class.php:161
211 | msgid "Backlog"
212 | msgstr "Zaległości"
213 |
214 | #: inc/task.class.php:1045
215 | msgctxt "visibility"
216 | msgid "This user"
217 | msgstr "Użytkownik"
218 |
219 | #: inc/task.class.php:1048
220 | msgctxt "visibility"
221 | msgid "This user and this group"
222 | msgstr "Użytkownik i grupa"
223 |
224 | #: inc/task.class.php:1051
225 | msgctxt "visibility"
226 | msgid "All"
227 | msgstr "Wszystko"
228 |
229 | #: inc/task.class.php:1093
230 | msgid "Affect entity for create task"
231 | msgstr ""
232 |
233 | #: inc/ticket.class.php:74 inc/ticket.class.php:183
234 | msgid "Linked task"
235 | msgid_plural "Linked tasks"
236 | msgstr[0] "Powiązane zadanie"
237 | msgstr[1] "Powiązane zadania"
238 | msgstr[2] "Powiązanych zadań"
239 | msgstr[3] "Powiązane zadania"
240 |
241 | #: inc/ticket.class.php:227
242 | msgid "No task linked to this ticket yet"
243 | msgstr "Brak powiązanych zadań do tego zgłoszenia"
244 |
245 | #: inc/ticket.class.php:258
246 | msgid "Link a existant ticket"
247 | msgstr "Powiąż ze zgłoszeniem"
248 |
249 | #: inc/ticket.class.php:284
250 | msgid "Linked tickets"
251 | msgstr "Powiązane zgłoszenia"
252 |
253 | #: inc/typevisibility.class.php:138
254 | msgid "Add a group"
255 | msgstr "Dodaj grupę"
256 |
257 | #: inc/typevisibility.class.php:179
258 | msgid "Groups allowed to use context"
259 | msgstr "Grupy dopuszczone do użycia w tym kontekście"
260 |
--------------------------------------------------------------------------------
/locales/pt_BR.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/InfotelGLPI/tasklists/db68fda7243a85b5ce72dad27eb2c6cf2ea307c0/locales/pt_BR.mo
--------------------------------------------------------------------------------
/locales/pt_BR.po:
--------------------------------------------------------------------------------
1 | # SOME DESCRIPTIVE TITLE.
2 | # Copyright (C) YEAR Tasklists Development Team
3 | # This file is distributed under the same license as the GLPI - Tasklists plugin package.
4 | # FIRST AUTHOR , YEAR.
5 | #
6 | # Translators:
7 | # Paulo Henrique , 2021
8 | # Luis José Machado Sousa , 2021
9 | # Rafael Gomes , 2022
10 | # Eduardo Mozart de Oliveira , 2025
11 | #
12 | #, fuzzy
13 | msgid ""
14 | msgstr ""
15 | "Project-Id-Version: GLPI - Tasklists plugin\n"
16 | "Report-Msgid-Bugs-To: \n"
17 | "POT-Creation-Date: 2024-12-30 13:55+0000\n"
18 | "PO-Revision-Date: 2020-11-02 16:28+0000\n"
19 | "Last-Translator: Eduardo Mozart de Oliveira , 2025\n"
20 | "Language-Team: Portuguese (Brazil) (https://app.transifex.com/infotelGLPI/teams/79675/pt_BR/)\n"
21 | "MIME-Version: 1.0\n"
22 | "Content-Type: text/plain; charset=UTF-8\n"
23 | "Content-Transfer-Encoding: 8bit\n"
24 | "Language: pt_BR\n"
25 | "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
26 |
27 | #: setup.php:87 inc/dashboard.class.php:60 inc/dashboard.class.php:178
28 | #: inc/dashboard.class.php:183 inc/menu.class.php:44
29 | #: inc/preference.class.php:46 inc/profile.class.php:52
30 | msgid "Tasks list"
31 | msgstr "Lista de tarefas"
32 |
33 | #: ajax/addOptions.php:30
34 | msgid "Not archived"
35 | msgstr "Não arquivado"
36 |
37 | #: ajax/addOptions.php:31 inc/task.class.php:197 inc/task.class.php:686
38 | msgid "Archived"
39 | msgstr "Arquivado"
40 |
41 | #: inc/dashboard.class.php:59
42 | msgid "Tables"
43 | msgstr "Tabelas"
44 |
45 | #: inc/dashboard.class.php:102 inc/task.class.php:96 inc/task.class.php:478
46 | #: inc/taskstate.class.php:137 inc/taskstate.class.php:189
47 | #: inc/tasktype.class.php:52
48 | msgid "Context"
49 | msgid_plural "Contexts"
50 | msgstr[0] "Contexto"
51 | msgstr[1] "Contextos"
52 | msgstr[2] "Contextos"
53 |
54 | #: inc/dashboard.class.php:108 inc/notificationtargettask.class.php:213
55 | #: inc/notificationtargettask.class.php:259 inc/task.class.php:134
56 | #: inc/task.class.php:568 inc/tasktype.class.php:229
57 | msgid "Due date"
58 | msgstr "Data de vencimento"
59 |
60 | #: inc/dashboard.class.php:163 inc/dashboard.class.php:164
61 | #: inc/dashboard.class.php:169 inc/ticket.class.php:154
62 | msgid "Add task"
63 | msgstr "Adicionar tarefa"
64 |
65 | #: inc/kanban.class.php:76
66 | msgid "Kanban"
67 | msgstr "Kanban"
68 |
69 | #: inc/kanban.class.php:148
70 | msgid "You don't have the right to see any context"
71 | msgstr "Você não tem o direito de ver nenhum contexto"
72 |
73 | #: inc/kanban.class.php:185
74 | msgid "There is no accessible context"
75 | msgstr "Sem contexto acessível"
76 |
77 | #: inc/notificationtargettask.class.php:51
78 | msgid "A task has been added"
79 | msgstr "Uma tarefa foi adicionada"
80 |
81 | #: inc/notificationtargettask.class.php:52
82 | msgid "A task has been updated"
83 | msgstr "Uma tarefa foi atualizada"
84 |
85 | #: inc/notificationtargettask.class.php:53
86 | msgid "A task has been removed"
87 | msgstr "Uma tarefa foi removida"
88 |
89 | #: inc/notificationtargettask.class.php:217
90 | #: inc/notificationtargettask.class.php:263 inc/task.class.php:205
91 | #: inc/task.class.php:559
92 | msgid "Other client"
93 | msgstr "Outro cliente"
94 |
95 | #: inc/notificationtargettask.class.php:271
96 | msgid "At creation, update, removal of a task"
97 | msgstr "Na criação, atualização, remoção de uma tarefa"
98 |
99 | #: inc/preference.class.php:88
100 | msgid "Context by default"
101 | msgstr "Contexto por padrão"
102 |
103 | #: inc/preference.class.php:96
104 | msgid "Automatic refreshing of tasklist"
105 | msgstr "Atualização automática da lista de tarefas"
106 |
107 | #: inc/preference.class.php:102
108 | msgid "Refresh every "
109 | msgstr "Atualizar a cada"
110 |
111 | #: inc/preference.class.php:106
112 | msgid "minute(s)"
113 | msgstr "minuto(s)"
114 |
115 | #: inc/profile.class.php:164 inc/profile.class.php:208
116 | msgid "See and update all tasks"
117 | msgstr "Veja e atualize todas as tarefas"
118 |
119 | #: inc/profile.class.php:173 inc/profile.class.php:211
120 | msgid "Configure contexts and statuses"
121 | msgstr "Configurar contextos e status"
122 |
123 | #: inc/task.class.php:254
124 | msgctxt "quantity"
125 | msgid "Number of comments"
126 | msgstr "Número de comentários"
127 |
128 | #: inc/task.class.php:392
129 | msgid "You cannot archive a task with this state"
130 | msgstr "Você não pode arquivar uma tarefa com este estado"
131 |
132 | #: inc/task.class.php:522
133 | msgid "Existing client"
134 | msgstr "Cliente existente"
135 |
136 | #: inc/task.class.php:709 inc/task.class.php:790 inc/task.class.php:1085
137 | #: inc/tasktype.class.php:165 inc/tasktype.class.php:526
138 | msgid "Backlog"
139 | msgstr "Lista de pendências"
140 |
141 | #: inc/task.class.php:1143
142 | msgctxt "visibility"
143 | msgid "This user"
144 | msgstr "Este usuário"
145 |
146 | #: inc/task.class.php:1146
147 | msgctxt "visibility"
148 | msgid "This user and this group"
149 | msgstr "Este usuário e este grupo"
150 |
151 | #: inc/task.class.php:1149
152 | msgctxt "visibility"
153 | msgid "All"
154 | msgstr "Todos"
155 |
156 | #: inc/task.class.php:1192
157 | msgid "Affect entity for create task"
158 | msgstr "Afetar entidade para criar tarefa"
159 |
160 | #: inc/taskstate.class.php:84
161 | msgid "Status"
162 | msgid_plural "Statuses"
163 | msgstr[0] "Status"
164 | msgstr[1] "Status"
165 | msgstr[2] "Status"
166 |
167 | #: inc/ticket.class.php:74 inc/ticket.class.php:184
168 | msgid "Linked task"
169 | msgid_plural "Linked tasks"
170 | msgstr[0] "Tarefa vinculada"
171 | msgstr[1] "Tarefas vinculadas"
172 | msgstr[2] "Tarefas vinculadas"
173 |
174 | #: inc/ticket.class.php:228
175 | msgid "No task linked to this ticket yet"
176 | msgstr "Nenhuma tarefa vinculada a este chamado ainda"
177 |
178 | #: inc/ticket.class.php:259
179 | msgid "Link a existant ticket"
180 | msgstr "Vincular a um chamado existente"
181 |
182 | #: inc/ticket.class.php:285
183 | msgid "Linked tickets"
184 | msgstr "Vincular chamados"
185 |
186 | #: inc/typevisibility.class.php:138
187 | msgid "Add a group"
188 | msgstr "Adicionar um grupo"
189 |
190 | #: inc/typevisibility.class.php:179
191 | msgid "Groups allowed to use context"
192 | msgstr "Grupos autorizados a usar o contexto"
193 |
--------------------------------------------------------------------------------
/locales/ru_RU.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/InfotelGLPI/tasklists/db68fda7243a85b5ce72dad27eb2c6cf2ea307c0/locales/ru_RU.mo
--------------------------------------------------------------------------------
/locales/ru_RU.po:
--------------------------------------------------------------------------------
1 | # SOME DESCRIPTIVE TITLE.
2 | # Copyright (C) YEAR Tasklists Development Team
3 | # This file is distributed under the same license as the GLPI - Tasklists plugin package.
4 | # FIRST AUTHOR , YEAR.
5 | #
6 | # Translators:
7 | # Denis Arkhipov , 2019
8 | #
9 | #, fuzzy
10 | msgid ""
11 | msgstr ""
12 | "Project-Id-Version: GLPI - Tasklists plugin 1.4.0\n"
13 | "Report-Msgid-Bugs-To: \n"
14 | "POT-Creation-Date: 2020-07-20 15:07+0200\n"
15 | "PO-Revision-Date: 2017-10-18 16:45+0000\n"
16 | "Last-Translator: Denis Arkhipov , 2019\n"
17 | "Language-Team: Russian (Russia) (https://www.transifex.com/infotelGLPI/teams/79675/ru_RU/)\n"
18 | "MIME-Version: 1.0\n"
19 | "Content-Type: text/plain; charset=UTF-8\n"
20 | "Content-Transfer-Encoding: 8bit\n"
21 | "Language: ru_RU\n"
22 | "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
23 |
24 | #: setup.php:89 inc/dashboard.class.php:58 inc/dashboard.class.php:178
25 | #: inc/dashboard.class.php:183 inc/menu.class.php:44
26 | #: inc/preference.class.php:46 inc/profile.class.php:52
27 | msgid "Tasks list"
28 | msgstr "Список задач"
29 |
30 | #: ajax/addOptions.php:31
31 | msgid "Not archived"
32 | msgstr ""
33 |
34 | #: ajax/addOptions.php:32 inc/task.class.php:181 inc/task.class.php:599
35 | msgid "Archived"
36 | msgstr "Заархивирован"
37 |
38 | #: inc/dashboard.class.php:93 inc/task.class.php:80 inc/task.class.php:418
39 | #: inc/taskstate.class.php:100 inc/taskstate.class.php:152
40 | #: inc/tasktype.class.php:48
41 | msgid "Context"
42 | msgid_plural "Contexts"
43 | msgstr[0] "Контекст"
44 | msgstr[1] "Контексты"
45 | msgstr[2] "Контексты"
46 | msgstr[3] "Контексты"
47 |
48 | #: inc/dashboard.class.php:93 inc/notificationtargettask.class.php:203
49 | #: inc/notificationtargettask.class.php:247 inc/task.class.php:118
50 | #: inc/task.class.php:496 inc/tasktype.class.php:256
51 | msgid "Due date"
52 | msgstr "Срок исполнения"
53 |
54 | #: inc/dashboard.class.php:164 inc/dashboard.class.php:172
55 | #: inc/kanban.class.php:257 inc/ticket.class.php:154
56 | msgid "Add task"
57 | msgstr "Добавить задачу"
58 |
59 | #: inc/kanban.class.php:61
60 | msgid "Kanban"
61 | msgstr "Канбан"
62 |
63 | #: inc/kanban.class.php:121
64 | msgid "You don't have the right to see any context"
65 | msgstr "У вас нет прав на просмотр контекста"
66 |
67 | #: inc/kanban.class.php:188
68 | msgid "There is no accessible context"
69 | msgstr ""
70 |
71 | #: inc/kanban.class.php:247
72 | msgid "Toggle collapse"
73 | msgstr ""
74 |
75 | #: inc/kanban.class.php:248
76 | msgid "Search"
77 | msgstr ""
78 |
79 | #: inc/kanban.class.php:249
80 | msgid "Search or filter results"
81 | msgstr ""
82 |
83 | #: inc/kanban.class.php:250
84 | msgid "Add status"
85 | msgstr ""
86 |
87 | #: inc/kanban.class.php:251
88 | msgid "Create status"
89 | msgstr ""
90 |
91 | #: inc/kanban.class.php:253
92 | msgid "Add a column from existing status"
93 | msgstr ""
94 |
95 | #: inc/kanban.class.php:254
96 | msgid "Or add a new status"
97 | msgstr ""
98 |
99 | #: inc/kanban.class.php:259
100 | msgid "Archive all tasks of this state"
101 | msgstr "Заархивировать задачи с таким статусом"
102 |
103 | #: inc/kanban.class.php:260
104 | msgid "See archived tasks"
105 | msgstr "Показать архивные задачи"
106 |
107 | #: inc/kanban.class.php:261
108 | msgid "Hide archived tasks"
109 | msgstr "Скрыть архивные задачи"
110 |
111 | #: inc/kanban.class.php:262
112 | msgid "Clone task"
113 | msgstr "Копировать задачу"
114 |
115 | #: inc/kanban.class.php:263
116 | msgid "See tasks in progress"
117 | msgstr "Посмотреть задачи в работе"
118 |
119 | #: inc/kanban.class.php:264
120 | msgid "See tasks of"
121 | msgstr "Посмотреть задачу"
122 |
123 | #: inc/kanban.class.php:265
124 | msgid "See all tasks"
125 | msgstr "Посмотреть все задачи"
126 |
127 | #: inc/kanban.class.php:266
128 | msgid "Are you sure you want to archive this task ?"
129 | msgstr "Вы уверены, что хотите заархивировать эту задачу?"
130 |
131 | #: inc/kanban.class.php:267
132 | msgid "Are you sure you want to archive all tasks ?"
133 | msgstr "Вы уверены, что хотите заархивировать все задачи?"
134 |
135 | #: inc/kanban.class.php:268
136 | msgid "Archive this task"
137 | msgstr "Архивировать эту задачу"
138 |
139 | #: inc/kanban.class.php:269
140 | msgid "Update priority of task"
141 | msgstr "Обновить приоритет задачи"
142 |
143 | #: inc/kanban.class.php:270
144 | msgid "Details of task"
145 | msgstr "Детали задачи"
146 |
147 | #: inc/notificationtargettask.class.php:50
148 | msgid "A task has been added"
149 | msgstr "Задача была добавлена"
150 |
151 | #: inc/notificationtargettask.class.php:51
152 | msgid "A task has been updated"
153 | msgstr "Задача была обновлена"
154 |
155 | #: inc/notificationtargettask.class.php:52
156 | msgid "A task has been removed"
157 | msgstr "Задача была удалена"
158 |
159 | #: inc/notificationtargettask.class.php:207
160 | #: inc/notificationtargettask.class.php:251 inc/task.class.php:189
161 | #: inc/task.class.php:486
162 | msgid "Other client"
163 | msgstr "Другой клиент"
164 |
165 | #: inc/notificationtargettask.class.php:259
166 | msgid "At creation, update, removal of a task"
167 | msgstr "При создании, изменении, удалении задачи"
168 |
169 | #: inc/preference.class.php:80
170 | msgid "Context by default"
171 | msgstr "Контекст по умолчанию"
172 |
173 | #: inc/preference.class.php:88
174 | msgid "Automatic refreshing of tasklist"
175 | msgstr ""
176 |
177 | #: inc/preference.class.php:94
178 | msgid "Refresh every "
179 | msgstr ""
180 |
181 | #: inc/preference.class.php:98
182 | msgid "minute(s)"
183 | msgstr ""
184 |
185 | #: inc/profile.class.php:153 inc/profile.class.php:196
186 | msgid "See and update all tasks"
187 | msgstr "Посмотреть и обновить все задачи"
188 |
189 | #: inc/profile.class.php:162 inc/profile.class.php:199
190 | msgid "Configure contexts and statuses"
191 | msgstr ""
192 |
193 | #: inc/stateorder.class.php:96
194 | msgid "States ordering"
195 | msgstr "Упорядочение статусов"
196 |
197 | #: inc/stateorder.class.php:156
198 | msgid "Add states from linked Kanban"
199 | msgstr ""
200 |
201 | #: inc/task.class.php:333
202 | msgid "You cannot archive a task with this state"
203 | msgstr "Вы не можете заархивировать задачу с таким статусом"
204 |
205 | #: inc/task.class.php:457
206 | msgid "Existing client"
207 | msgstr "Существующий клиент"
208 |
209 | #: inc/task.class.php:622 inc/task.class.php:709 inc/task.class.php:985
210 | #: inc/tasktype.class.php:161
211 | msgid "Backlog"
212 | msgstr "Бэклог"
213 |
214 | #: inc/task.class.php:1045
215 | msgctxt "visibility"
216 | msgid "This user"
217 | msgstr "Этот пользователь"
218 |
219 | #: inc/task.class.php:1048
220 | msgctxt "visibility"
221 | msgid "This user and this group"
222 | msgstr "Этот пользователь и эта группа"
223 |
224 | #: inc/task.class.php:1051
225 | msgctxt "visibility"
226 | msgid "All"
227 | msgstr "Все"
228 |
229 | #: inc/task.class.php:1093
230 | msgid "Affect entity for create task"
231 | msgstr "Влияние организации на создание задачи"
232 |
233 | #: inc/ticket.class.php:74 inc/ticket.class.php:183
234 | msgid "Linked task"
235 | msgid_plural "Linked tasks"
236 | msgstr[0] "Связанная задача"
237 | msgstr[1] "Связанные задачи"
238 | msgstr[2] "Связанные задачи"
239 | msgstr[3] "Связанные задачи"
240 |
241 | #: inc/ticket.class.php:227
242 | msgid "No task linked to this ticket yet"
243 | msgstr "Нет связанных с заявкой задач"
244 |
245 | #: inc/ticket.class.php:258
246 | msgid "Link a existant ticket"
247 | msgstr "Связать с существующей заявкой"
248 |
249 | #: inc/ticket.class.php:284
250 | msgid "Linked tickets"
251 | msgstr "Связанные заявки"
252 |
253 | #: inc/typevisibility.class.php:138
254 | msgid "Add a group"
255 | msgstr "Добавить группу"
256 |
257 | #: inc/typevisibility.class.php:179
258 | msgid "Groups allowed to use context"
259 | msgstr "Группы с разрешением использовать контекст"
260 |
--------------------------------------------------------------------------------
/screenshots/Tasks list from Dashboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/InfotelGLPI/tasklists/db68fda7243a85b5ce72dad27eb2c6cf2ea307c0/screenshots/Tasks list from Dashboard.png
--------------------------------------------------------------------------------
/screenshots/addTask.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/InfotelGLPI/tasklists/db68fda7243a85b5ce72dad27eb2c6cf2ea307c0/screenshots/addTask.png
--------------------------------------------------------------------------------
/screenshots/kanban.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/InfotelGLPI/tasklists/db68fda7243a85b5ce72dad27eb2c6cf2ea307c0/screenshots/kanban.png
--------------------------------------------------------------------------------
/setup.php:
--------------------------------------------------------------------------------
1 | .
27 | --------------------------------------------------------------------------
28 | */
29 |
30 | define('PLUGIN_TASKLISTS_VERSION', '2.0.4');
31 |
32 | if (!defined("PLUGIN_TASKLISTS_DIR")) {
33 | define("PLUGIN_TASKLISTS_DIR", Plugin::getPhpDir("tasklists"));
34 | define("PLUGIN_TASKLISTS_NOTFULL_DIR", Plugin::getPhpDir("tasklists",false));
35 | define("PLUGIN_TASKLISTS_WEBDIR", Plugin::getWebDir("tasklists"));
36 | }
37 |
38 | // Init the hooks of the plugins -Needed
39 | function plugin_init_tasklists() {
40 | global $PLUGIN_HOOKS, $CFG_GLPI;
41 |
42 | $PLUGIN_HOOKS['csrf_compliant']['tasklists'] = true;
43 | $PLUGIN_HOOKS['change_profile']['tasklists'] = ['PluginTasklistsProfile', 'initProfile'];
44 | $PLUGIN_HOOKS['use_rules']['tasklists'] = ['RuleMailCollector'];
45 |
46 | if (Session::getLoginUserID()) {
47 |
48 | Plugin::registerClass('PluginTasklistsTask', [
49 | // 'linkuser_types' => true,
50 | // 'linkgroup_types' => true,
51 | 'document_types' => true,
52 | 'notificationtemplates_types' => true
53 | ]);
54 |
55 | Plugin::registerClass('PluginTasklistsTicket',
56 | ['addtabon' => 'Ticket']);
57 |
58 | $PLUGIN_HOOKS['item_purge']['tasklists']['Ticket'] = ['PluginTasklistsTaskTicket', 'cleanForTicket'];
59 |
60 | Plugin::registerClass('PluginTasklistsProfile',
61 | ['addtabon' => 'Profile']);
62 |
63 | Plugin::registerClass('PluginTasklistsPreference',
64 | ['addtabon' => 'Preference']);
65 |
66 | if (Session::haveRight("plugin_tasklists", READ)) {
67 | $PLUGIN_HOOKS['menu_toadd']['tasklists'] = ['helpdesk' => 'PluginTasklistsMenu'];
68 | }
69 |
70 | if (class_exists('PluginMydashboardMenu')) {
71 | $PLUGIN_HOOKS['mydashboard']['tasklists'] = ["PluginTasklistsDashboard"];
72 | }
73 |
74 | if (Session::haveRight("plugin_tasklists", CREATE)) {
75 | $PLUGIN_HOOKS['use_massive_action']['tasklists'] = 1;
76 | }
77 | }
78 | }
79 |
80 | // Get the name and the version of the plugin - Needed
81 | /**
82 | * @return array
83 | */
84 | function plugin_version_tasklists() {
85 |
86 | return [
87 | 'name' => __('Tasks list', 'tasklists'),
88 | 'version' => PLUGIN_TASKLISTS_VERSION,
89 | 'license' => 'GPLv2+',
90 | 'author' => "Infotel",
91 | 'homepage' => 'https://github.com/InfotelGLPI/tasklists',
92 | 'requirements' => [
93 | 'glpi' => [
94 | 'min' => '10.0',
95 | 'max' => '11.0',
96 | 'dev' => false
97 | ]
98 | ]
99 | ];
100 |
101 | }
102 |
--------------------------------------------------------------------------------
/sql/empty-1.0.0.sql:
--------------------------------------------------------------------------------
1 | DROP TABLE IF EXISTS `glpi_plugin_tasklists_tasks`;
2 | CREATE TABLE `glpi_plugin_tasklists_tasks`
3 | (
4 | `id` int(11) NOT NULL auto_increment,
5 | `entities_id` int(11) NOT NULL default '0',
6 | `is_recursive` tinyint(1) NOT NULL default '0',
7 | `name` varchar(255) collate utf8_unicode_ci default NULL,
8 | `plugin_tasklists_tasktypes_id` int(11) NOT NULL default '0' COMMENT 'RELATION to glpi_plugin_tasklists_tasktypes (id)',
9 | `priority` int(11) NOT NULL DEFAULT '1',
10 | `visibility` int(11) NOT NULL DEFAULT '1',
11 | `actiontime` int(11) NOT NULL DEFAULT '0',
12 | `percent_done` int(11) NOT NULL DEFAULT '0',
13 | `state` int(11) NOT NULL DEFAULT '1',
14 | `due_date` date default NULL,
15 | `users_id` int(11) NOT NULL default '0' COMMENT 'RELATION to glpi_users (id)',
16 | `groups_id` int(11) NOT NULL default '0' COMMENT 'RELATION to glpi_groups (id)',
17 | `comment` text collate utf8_unicode_ci,
18 | `notepad` longtext collate utf8_unicode_ci,
19 | `date_mod` datetime default NULL,
20 | `is_deleted` tinyint(1) NOT NULL default '0',
21 | PRIMARY KEY (`id`),
22 | KEY `name` (`name`),
23 | KEY `entities_id` (`entities_id`),
24 | KEY `plugin_tasklists_tasktypes_id` (`plugin_tasklists_tasktypes_id`),
25 | KEY `users_id` (`users_id`),
26 | KEY `groups_id` (`groups_id`),
27 | KEY `date_mod` (`date_mod`),
28 | KEY `is_deleted` (`is_deleted`)
29 | ) ENGINE = MyISAM
30 | DEFAULT CHARSET = utf8
31 | COLLATE = utf8_unicode_ci;
32 |
33 |
34 | DROP TABLE IF EXISTS `glpi_plugin_tasklists_tasktypes`;
35 | CREATE TABLE `glpi_plugin_tasklists_tasktypes`
36 | (
37 | `id` int(11) NOT NULL AUTO_INCREMENT,
38 | `name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
39 | `entities_id` int(11) NOT NULL DEFAULT '0',
40 | `is_recursive` tinyint(1) NOT NULL DEFAULT '0',
41 | `comment` text COLLATE utf8_unicode_ci,
42 | `plugin_tasklists_tasktypes_id` int(11) NOT NULL DEFAULT '0',
43 | `completename` text COLLATE utf8_unicode_ci,
44 | `level` int(11) NOT NULL DEFAULT '0',
45 | `ancestors_cache` longtext COLLATE utf8_unicode_ci,
46 | `sons_cache` longtext COLLATE utf8_unicode_ci,
47 | PRIMARY KEY (`id`),
48 | KEY `name` (`name`),
49 | KEY `unicity` (`plugin_tasklists_tasktypes_id`, `name`)
50 | ) ENGINE = MyISAM
51 | DEFAULT CHARSET = utf8
52 | COLLATE = utf8_unicode_ci;
--------------------------------------------------------------------------------
/sql/empty-1.3.0.sql:
--------------------------------------------------------------------------------
1 | DROP TABLE IF EXISTS `glpi_plugin_tasklists_tasks`;
2 | CREATE TABLE `glpi_plugin_tasklists_tasks`
3 | (
4 | `id` int(11) NOT NULL auto_increment,
5 | `entities_id` int(11) NOT NULL default '0',
6 | `is_recursive` tinyint(1) NOT NULL default '0',
7 | `name` varchar(255) collate utf8_unicode_ci default NULL,
8 | `plugin_tasklists_tasktypes_id` int(11) NOT NULL default '0' COMMENT 'RELATION to glpi_plugin_tasklists_tasktypes (id)',
9 | `priority` int(11) NOT NULL DEFAULT '1',
10 | `visibility` int(11) NOT NULL DEFAULT '1',
11 | `actiontime` int(11) NOT NULL DEFAULT '0',
12 | `percent_done` int(11) NOT NULL DEFAULT '0',
13 | `state` int(11) NOT NULL DEFAULT '1',
14 | `due_date` date default NULL,
15 | `users_id` int(11) NOT NULL default '0' COMMENT 'RELATION to glpi_users (id)',
16 | `groups_id` int(11) NOT NULL default '0' COMMENT 'RELATION to glpi_groups (id)',
17 | `comment` text collate utf8_unicode_ci,
18 | `notepad` longtext collate utf8_unicode_ci,
19 | `date_mod` datetime default NULL,
20 | `is_deleted` tinyint(1) NOT NULL default '0',
21 | PRIMARY KEY (`id`),
22 | KEY `name` (`name`),
23 | KEY `entities_id` (`entities_id`),
24 | KEY `plugin_tasklists_tasktypes_id` (`plugin_tasklists_tasktypes_id`),
25 | KEY `users_id` (`users_id`),
26 | KEY `groups_id` (`groups_id`),
27 | KEY `date_mod` (`date_mod`),
28 | KEY `is_deleted` (`is_deleted`)
29 | ) ENGINE = InnoDB
30 | DEFAULT CHARSET = utf8
31 | COLLATE = utf8_unicode_ci;
32 |
33 |
34 | DROP TABLE IF EXISTS `glpi_plugin_tasklists_tasktypes`;
35 | CREATE TABLE `glpi_plugin_tasklists_tasktypes`
36 | (
37 | `id` int(11) NOT NULL AUTO_INCREMENT,
38 | `name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
39 | `entities_id` int(11) NOT NULL DEFAULT '0',
40 | `is_recursive` tinyint(1) NOT NULL DEFAULT '0',
41 | `comment` text COLLATE utf8_unicode_ci,
42 | `plugin_tasklists_tasktypes_id` int(11) NOT NULL DEFAULT '0',
43 | `completename` text COLLATE utf8_unicode_ci,
44 | `level` int(11) NOT NULL DEFAULT '0',
45 | `ancestors_cache` longtext COLLATE utf8_unicode_ci,
46 | `sons_cache` longtext COLLATE utf8_unicode_ci,
47 | PRIMARY KEY (`id`),
48 | KEY `name` (`name`),
49 | KEY `unicity` (`plugin_tasklists_tasktypes_id`, `name`)
50 | ) ENGINE = InnoDB
51 | DEFAULT CHARSET = utf8
52 | COLLATE = utf8_unicode_ci;
--------------------------------------------------------------------------------
/sql/empty-1.4.0.sql:
--------------------------------------------------------------------------------
1 | DROP TABLE IF EXISTS `glpi_plugin_tasklists_tasks`;
2 | CREATE TABLE `glpi_plugin_tasklists_tasks`
3 | (
4 | `id` int(11) NOT NULL auto_increment,
5 | `entities_id` int(11) NOT NULL default '0',
6 | `is_recursive` tinyint(1) NOT NULL default '0',
7 | `name` varchar(255) collate utf8_unicode_ci default NULL,
8 | `plugin_tasklists_tasktypes_id` int(11) NOT NULL default '0' COMMENT 'RELATION to glpi_plugin_tasklists_tasktypes (id)',
9 | `plugin_tasklists_taskstates_id` int(11) NOT NULL default '0' COMMENT 'RELATION to glpi_plugin_tasklists_taskstates (id)',
10 | `priority` int(11) NOT NULL DEFAULT '1',
11 | `visibility` int(11) NOT NULL DEFAULT '1',
12 | `actiontime` int(11) NOT NULL DEFAULT '0',
13 | `percent_done` int(11) NOT NULL DEFAULT '0',
14 | `state` int(11) NOT NULL DEFAULT '1',
15 | `due_date` date default NULL,
16 | `users_id` int(11) NOT NULL default '0' COMMENT 'RELATION to glpi_users (id)',
17 | `groups_id` int(11) NOT NULL default '0' COMMENT 'RELATION to glpi_groups (id)',
18 | `client` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
19 | `comment` text collate utf8_unicode_ci,
20 | `notepad` longtext collate utf8_unicode_ci,
21 | `date_mod` datetime default NULL,
22 | `date_creation` datetime default NULL,
23 | `is_template` smallint(6) NOT NULL default '0',
24 | `template_name` varchar(200) collate utf8_unicode_ci NOT NULL default '',
25 | `is_deleted` tinyint(1) NOT NULL default '0',
26 | `is_archived` tinyint(1) NOT NULL default '0',
27 | PRIMARY KEY (`id`),
28 | KEY `name` (`name`),
29 | KEY `entities_id` (`entities_id`),
30 | KEY `plugin_tasklists_tasktypes_id` (`plugin_tasklists_tasktypes_id`),
31 | KEY `is_template` (`is_template`),
32 | KEY `users_id` (`users_id`),
33 | KEY `groups_id` (`groups_id`),
34 | KEY `date_mod` (`date_mod`),
35 | KEY `is_deleted` (`is_deleted`),
36 | KEY `is_archived` (`is_archived`)
37 | ) ENGINE = InnoDB
38 | DEFAULT CHARSET = utf8
39 | COLLATE = utf8_unicode_ci;
40 |
41 | DROP TABLE IF EXISTS `glpi_plugin_tasklists_tasktypes`;
42 | CREATE TABLE `glpi_plugin_tasklists_tasktypes`
43 | (
44 | `id` int(11) NOT NULL AUTO_INCREMENT,
45 | `name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
46 | `entities_id` int(11) NOT NULL DEFAULT '0',
47 | `is_recursive` tinyint(1) NOT NULL DEFAULT '0',
48 | `comment` text COLLATE utf8_unicode_ci,
49 | `plugin_tasklists_tasktypes_id` int(11) NOT NULL DEFAULT '0',
50 | `completename` text COLLATE utf8_unicode_ci,
51 | `level` int(11) NOT NULL DEFAULT '0',
52 | `ancestors_cache` longtext COLLATE utf8_unicode_ci,
53 | `sons_cache` longtext COLLATE utf8_unicode_ci,
54 | PRIMARY KEY (`id`),
55 | KEY `name` (`name`),
56 | KEY `entities_id` (`entities_id`),
57 | KEY `unicity` (`plugin_tasklists_tasktypes_id`, `name`)
58 | ) ENGINE = InnoDB
59 | DEFAULT CHARSET = utf8
60 | COLLATE = utf8_unicode_ci;
61 |
62 | DROP TABLE IF EXISTS `glpi_plugin_tasklists_taskstates`;
63 | CREATE TABLE `glpi_plugin_tasklists_taskstates`
64 | (
65 | `id` int(11) NOT NULL AUTO_INCREMENT,
66 | `name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
67 | `entities_id` int(11) NOT NULL DEFAULT '0',
68 | `is_recursive` tinyint(1) NOT NULL DEFAULT '0',
69 | `is_finished` tinyint(1) NOT NULL DEFAULT '0',
70 | `tasktypes` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
71 | `color` varchar(200) DEFAULT '#CCC' NOT NULL,
72 | `comment` text COLLATE utf8_unicode_ci,
73 | PRIMARY KEY (`id`),
74 | KEY `name` (`name`),
75 | KEY `entities_id` (`entities_id`)
76 | ) ENGINE = InnoDB
77 | DEFAULT CHARSET = utf8
78 | COLLATE = utf8_unicode_ci;
79 |
80 | DROP TABLE IF EXISTS `glpi_plugin_tasklists_stateorders`;
81 | CREATE TABLE `glpi_plugin_tasklists_stateorders`
82 | (
83 | `id` int(11) NOT NULL auto_increment, -- id
84 | `plugin_tasklists_taskstates_id` int(11) NOT NULL DEFAULT 0,
85 | `plugin_tasklists_tasktypes_id` int(11) NOT NULL DEFAULT 0,
86 | `ranking` int(11) NULL,
87 | PRIMARY KEY (`id`),
88 | KEY `plugin_tasklists_tasktypes_id` (`plugin_tasklists_tasktypes_id`),
89 | KEY `plugin_tasklists_taskstates_id` (`plugin_tasklists_taskstates_id`)
90 | ) ENGINE = InnoDB
91 | DEFAULT CHARSET = utf8
92 | COLLATE = utf8_unicode_ci;
93 |
94 | DROP TABLE IF EXISTS `glpi_plugin_tasklists_typevisibilities`;
95 | CREATE TABLE `glpi_plugin_tasklists_typevisibilities`
96 | (
97 | `id` int(11) NOT NULL AUTO_INCREMENT,
98 | `groups_id` int(11) NOT NULL default '0',
99 | `plugin_tasklists_tasktypes_id` int(11) NOT NULL default '0',
100 | PRIMARY KEY (`id`),
101 | KEY `plugin_tasklists_tasktypes_id` (`plugin_tasklists_tasktypes_id`),
102 | KEY `groups_id` (`groups_id`)
103 | ) ENGINE = InnoDB
104 | DEFAULT CHARSET = utf8
105 | COLLATE = utf8_unicode_ci;
106 |
107 | DROP TABLE IF EXISTS `glpi_plugin_tasklists_preferences`;
108 | CREATE TABLE `glpi_plugin_tasklists_preferences`
109 | (
110 | `id` int(11) NOT NULL COMMENT 'RELATION to glpi_users(id)',
111 | `default_type` int(11) NOT NULL DEFAULT 0,
112 | PRIMARY KEY (`id`)
113 | ) ENGINE = InnoDB
114 | DEFAULT CHARSET = utf8
115 | COLLATE = utf8_unicode_ci;
116 |
117 | DROP TABLE IF EXISTS `glpi_plugin_tasklists_tickets`;
118 | CREATE TABLE `glpi_plugin_tasklists_tickets`
119 | (
120 | `id` int(11) NOT NULL AUTO_INCREMENT,
121 | `tickets_id` int(11) NOT NULL DEFAULT '0',
122 | `plugin_tasklists_tasks_id` int(11) NOT NULL DEFAULT '0',
123 | PRIMARY KEY (`id`),
124 | KEY `plugin_tasklists_tasks_id` (`plugin_tasklists_tasks_id`),
125 | KEY `tickets_id` (`tickets_id`)
126 | ) ENGINE = InnoDB
127 | DEFAULT CHARSET = utf8
128 | COLLATE = utf8_unicode_ci;
129 |
130 | DROP TABLE IF EXISTS `glpi_plugin_tasklists_tasks_comments`;
131 | CREATE TABLE `glpi_plugin_tasklists_tasks_comments`
132 | (
133 | `id` int(11) NOT NULL AUTO_INCREMENT,
134 | `plugin_tasklists_tasks_id` int(11) NOT NULL,
135 | `users_id` int(11) NOT NULL DEFAULT '0',
136 | `language` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
137 | `comment` text COLLATE utf8_unicode_ci NOT NULL,
138 | `parent_comment_id` int(11) DEFAULT NULL,
139 | `date_creation` datetime DEFAULT NULL,
140 | `date_mod` datetime DEFAULT NULL,
141 | PRIMARY KEY (`id`)
142 | ) ENGINE = InnoDB
143 | DEFAULT CHARSET = utf8
144 | COLLATE = utf8_unicode_ci;
--------------------------------------------------------------------------------
/sql/update-1.4.0.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE `glpi_plugin_tasklists_taskstates`
2 | (
3 | `id` int(11) NOT NULL AUTO_INCREMENT,
4 | `name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
5 | `entities_id` int(11) NOT NULL DEFAULT '0',
6 | `is_recursive` tinyint(1) NOT NULL DEFAULT '0',
7 | `is_finished` tinyint(1) NOT NULL DEFAULT '0',
8 | `tasktypes` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
9 | `color` varchar(200) DEFAULT '#CCC' NOT NULL,
10 | `comment` text COLLATE utf8_unicode_ci,
11 | PRIMARY KEY (`id`),
12 | KEY `name` (`name`),
13 | KEY `entities_id` (`entities_id`)
14 | ) ENGINE = InnoDB
15 | DEFAULT CHARSET = utf8
16 | COLLATE = utf8_unicode_ci;
17 |
18 | INSERT INTO `glpi_plugin_tasklists_taskstates` (`id`, `name`, `entities_id`, `is_recursive`, `comment`, `color`,
19 | `tasktypes`)
20 | VALUES (1, 'To do', '0', '1', NULL, '#CCC', NULL);
21 | INSERT INTO `glpi_plugin_tasklists_taskstates` (`id`, `name`, `entities_id`, `is_recursive`, `comment`, `color`,
22 | `tasktypes`)
23 | VALUES (2, 'Done', '0', '1', NULL, '#CCC', NULL);
24 |
25 | ALTER TABLE `glpi_plugin_tasklists_tasks`
26 | CHANGE `state` `plugin_tasklists_taskstates_id` INT(11) NOT NULL DEFAULT '0' COMMENT 'RELATION to glpi_plugin_tasklists_taskstates (id)';
27 | ALTER TABLE `glpi_plugin_tasklists_tasks`
28 | ADD `is_archived` tinyint(1) NOT NULL default '0';
29 | ALTER TABLE `glpi_plugin_tasklists_tasks`
30 | ADD `client` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL;
31 | ALTER TABLE `glpi_plugin_tasklists_tasks`
32 | ADD `date_creation` datetime default NULL;
33 | ALTER TABLE `glpi_plugin_tasklists_tasks`
34 | ADD `due_date` date default NULL;
35 | ALTER TABLE `glpi_plugin_tasklists_tasks`
36 | ADD `is_template` smallint(6) NOT NULL default '0';
37 | ALTER TABLE `glpi_plugin_tasklists_tasks`
38 | ADD `template_name` varchar(200) collate utf8_unicode_ci NOT NULL default '';
39 |
40 | CREATE TABLE `glpi_plugin_tasklists_stateorders`
41 | (
42 | `id` int(11) NOT NULL auto_increment, -- id
43 | `plugin_tasklists_taskstates_id` int(11) NOT NULL DEFAULT 0,
44 | `plugin_tasklists_tasktypes_id` int(11) NOT NULL DEFAULT 0,
45 | `ranking` int(11) NULL,
46 | PRIMARY KEY (`id`),
47 | KEY `plugin_tasklists_tasktypes_id` (`plugin_tasklists_tasktypes_id`),
48 | KEY `plugin_tasklists_taskstates_id` (`plugin_tasklists_taskstates_id`)
49 | ) ENGINE = InnoDB
50 | DEFAULT CHARSET = utf8
51 | COLLATE = utf8_unicode_ci;
52 |
53 | CREATE TABLE `glpi_plugin_tasklists_typevisibilities`
54 | (
55 | `id` int(11) NOT NULL AUTO_INCREMENT,
56 | `groups_id` int(11) NOT NULL default '0',
57 | `plugin_tasklists_tasktypes_id` int(11) NOT NULL default '0',
58 | PRIMARY KEY (`id`),
59 | KEY `plugin_tasklists_tasktypes_id` (`plugin_tasklists_tasktypes_id`),
60 | KEY `groups_id` (`groups_id`)
61 | ) ENGINE = InnoDB
62 | DEFAULT CHARSET = utf8
63 | COLLATE = utf8_unicode_ci;
64 |
65 | CREATE TABLE `glpi_plugin_tasklists_preferences`
66 | (
67 | `id` int(11) NOT NULL COMMENT 'RELATION to glpi_users(id)',
68 | `default_type` int(11) NOT NULL DEFAULT 0,
69 | PRIMARY KEY (`id`)
70 | ) ENGINE = InnoDB
71 | DEFAULT CHARSET = utf8
72 | COLLATE = utf8_unicode_ci;
73 |
74 | CREATE TABLE `glpi_plugin_tasklists_tickets`
75 | (
76 | `id` int(11) NOT NULL AUTO_INCREMENT,
77 | `tickets_id` int(11) NOT NULL DEFAULT '0',
78 | `plugin_tasklists_tasks_id` int(11) NOT NULL DEFAULT '0',
79 | PRIMARY KEY (`id`),
80 | KEY `plugin_tasklists_tasks_id` (`plugin_tasklists_tasks_id`),
81 | KEY `tickets_id` (`tickets_id`)
82 | ) ENGINE = InnoDB
83 | DEFAULT CHARSET = utf8
84 | COLLATE = utf8_unicode_ci;
85 |
86 | CREATE TABLE `glpi_plugin_tasklists_tasks_comments`
87 | (
88 | `id` int(11) NOT NULL AUTO_INCREMENT,
89 | `plugin_tasklists_tasks_id` int(11) NOT NULL,
90 | `users_id` int(11) NOT NULL DEFAULT '0',
91 | `language` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
92 | `comment` text COLLATE utf8_unicode_ci NOT NULL,
93 | `parent_comment_id` int(11) DEFAULT NULL,
94 | `date_creation` datetime DEFAULT NULL,
95 | `date_mod` datetime DEFAULT NULL,
96 | PRIMARY KEY (`id`)
97 | ) ENGINE = InnoDB
98 | DEFAULT CHARSET = utf8
99 | COLLATE = utf8_unicode_ci;
--------------------------------------------------------------------------------
/sql/update-1.4.1.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE `glpi_plugin_tasklists_taskstates`
2 | (
3 | `id` INT(11) NOT NULL AUTO_INCREMENT,
4 | `name` VARCHAR(255) COLLATE utf8_unicode_ci DEFAULT NULL,
5 | `entities_id` INT(11) NOT NULL DEFAULT '0',
6 | `is_recursive` TINYINT(1) NOT NULL DEFAULT '0',
7 | `is_finished` TINYINT(1) NOT NULL DEFAULT '0',
8 | `tasktypes` VARCHAR(255) COLLATE utf8_unicode_ci DEFAULT NULL,
9 | `color` VARCHAR(200) DEFAULT '#CCC' NOT NULL,
10 | `comment` TEXT COLLATE utf8_unicode_ci,
11 | PRIMARY KEY (`id`),
12 | KEY `name` (`name`),
13 | KEY `entities_id` (`entities_id`)
14 | )
15 | ENGINE = InnoDB
16 | DEFAULT CHARSET = utf8
17 | COLLATE = utf8_unicode_ci;
18 |
19 | INSERT INTO `glpi_plugin_tasklists_taskstates` (`id`, `name`, `entities_id`, `is_recursive`, `comment`, `color`,
20 | `tasktypes`)
21 | VALUES (1, 'To do', '0', '1', NULL, '#CCC', NULL);
22 | INSERT INTO `glpi_plugin_tasklists_taskstates` (`id`, `name`, `entities_id`, `is_recursive`, `comment`, `color`,
23 | `tasktypes`)
24 | VALUES (2, 'Done', '0', '1', NULL, '#CCC', NULL);
25 |
26 | ALTER TABLE `glpi_plugin_tasklists_tasks`
27 | CHANGE `state` `plugin_tasklists_taskstates_id` INT(11) NOT NULL DEFAULT '0'
28 | COMMENT 'RELATION to glpi_plugin_tasklists_taskstates (id)';
29 | ALTER TABLE `glpi_plugin_tasklists_tasks`
30 | ADD `is_archived` TINYINT(1) NOT NULL DEFAULT '0';
31 | ALTER TABLE `glpi_plugin_tasklists_tasks`
32 | ADD `client` VARCHAR(255) COLLATE utf8_unicode_ci DEFAULT NULL;
33 | ALTER TABLE `glpi_plugin_tasklists_tasks`
34 | ADD `date_creation` DATETIME DEFAULT NULL;
35 | ALTER TABLE `glpi_plugin_tasklists_tasks`
36 | ADD `is_template` SMALLINT(6) NOT NULL DEFAULT '0';
37 | ALTER TABLE `glpi_plugin_tasklists_tasks`
38 | ADD `template_name` VARCHAR(200) COLLATE utf8_unicode_ci NOT NULL DEFAULT '';
39 |
40 | CREATE TABLE `glpi_plugin_tasklists_stateorders`
41 | (
42 | `id` INT(11) NOT NULL AUTO_INCREMENT, -- id
43 | `plugin_tasklists_taskstates_id` INT(11) NOT NULL DEFAULT 0,
44 | `plugin_tasklists_tasktypes_id` INT(11) NOT NULL DEFAULT 0,
45 | `ranking` INT(11) NULL,
46 | PRIMARY KEY (`id`),
47 | KEY `plugin_tasklists_tasktypes_id` (`plugin_tasklists_tasktypes_id`),
48 | KEY `plugin_tasklists_taskstates_id` (`plugin_tasklists_taskstates_id`)
49 | )
50 | ENGINE = InnoDB
51 | DEFAULT CHARSET = utf8
52 | COLLATE = utf8_unicode_ci;
53 |
54 | CREATE TABLE `glpi_plugin_tasklists_typevisibilities`
55 | (
56 | `id` INT(11) NOT NULL AUTO_INCREMENT,
57 | `groups_id` INT(11) NOT NULL DEFAULT '0',
58 | `plugin_tasklists_tasktypes_id` INT(11) NOT NULL DEFAULT '0',
59 | PRIMARY KEY (`id`),
60 | KEY `plugin_tasklists_tasktypes_id` (`plugin_tasklists_tasktypes_id`),
61 | KEY `groups_id` (`groups_id`)
62 | )
63 | ENGINE = InnoDB
64 | DEFAULT CHARSET = utf8
65 | COLLATE = utf8_unicode_ci;
66 |
67 | CREATE TABLE `glpi_plugin_tasklists_preferences`
68 | (
69 | `id` INT(11) NOT NULL
70 | COMMENT 'RELATION to glpi_users(id)',
71 | `default_type` INT(11) NOT NULL DEFAULT 0,
72 | PRIMARY KEY (`id`)
73 | )
74 | ENGINE = InnoDB
75 | DEFAULT CHARSET = utf8
76 | COLLATE = utf8_unicode_ci;
77 |
78 | CREATE TABLE `glpi_plugin_tasklists_tickets`
79 | (
80 | `id` INT(11) NOT NULL AUTO_INCREMENT,
81 | `tickets_id` INT(11) NOT NULL DEFAULT '0',
82 | `plugin_tasklists_tasks_id` INT(11) NOT NULL DEFAULT '0',
83 | PRIMARY KEY (`id`),
84 | KEY `plugin_tasklists_tasks_id` (`plugin_tasklists_tasks_id`),
85 | KEY `tickets_id` (`tickets_id`)
86 | )
87 | ENGINE = InnoDB
88 | DEFAULT CHARSET = utf8
89 | COLLATE = utf8_unicode_ci;
90 |
91 | CREATE TABLE `glpi_plugin_tasklists_tasks_comments`
92 | (
93 | `id` INT(11) NOT NULL AUTO_INCREMENT,
94 | `plugin_tasklists_tasks_id` INT(11) NOT NULL,
95 | `users_id` INT(11) NOT NULL DEFAULT '0',
96 | `language` VARCHAR(5) COLLATE utf8_unicode_ci DEFAULT NULL,
97 | `comment` TEXT COLLATE utf8_unicode_ci NOT NULL,
98 | `parent_comment_id` INT(11) DEFAULT NULL,
99 | `date_creation` DATETIME DEFAULT NULL,
100 | `date_mod` DATETIME DEFAULT NULL,
101 | PRIMARY KEY (`id`)
102 | )
103 | ENGINE = InnoDB
104 | DEFAULT CHARSET = utf8
105 | COLLATE = utf8_unicode_ci;
--------------------------------------------------------------------------------
/sql/update-1.5.1.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE `glpi_plugin_tasklists_items_kanbans`
2 | (
3 | `id` INT(11) NOT NULL AUTO_INCREMENT, -- id
4 | `itemtype` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
5 | `items_id` int(11) DEFAULT NULL,
6 | `users_id` int(11) NOT NULL,
7 | `plugin_tasklists_taskstates_id` int(11) NOT NULL,
8 | `state` int(1) NOT NULL DEFAULT 0,
9 | `date_mod` timestamp NULL DEFAULT NULL,
10 | `date_creation` timestamp NULL DEFAULT NULL,
11 | PRIMARY KEY (`id`),
12 | UNIQUE KEY `unicity` (`itemtype`, `items_id`, `users_id`, `plugin_tasklists_taskstates_id`)
13 | ) ENGINE = InnoDB
14 | DEFAULT CHARSET = utf8
15 | COLLATE = utf8_unicode_ci;
16 |
17 | ALTER TABLE `glpi_plugin_tasklists_preferences`
18 | ADD `automatic_refresh` TINYINT(1) NOT NULL DEFAULT '0';
19 | ALTER TABLE `glpi_plugin_tasklists_preferences`
20 | ADD `automatic_refresh_delay` INT(11) NOT NULL DEFAULT '10';
21 |
22 |
--------------------------------------------------------------------------------
/sql/update-1.6.0.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE `glpi_plugin_tasklists_preferences`
2 | ADD `automatic_refresh` TINYINT(1) NOT NULL DEFAULT '0';
3 | ALTER TABLE `glpi_plugin_tasklists_preferences`
4 | ADD `automatic_refresh_delay` INT(11) NOT NULL DEFAULT '10';
5 |
6 |
--------------------------------------------------------------------------------
/sql/update-1.6.1.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE `glpi_plugin_tasklists_tasks`
2 | ADD `users_id_requester` int(11) NOT NULL DEFAULT '0';
3 |
4 |
5 |
--------------------------------------------------------------------------------
/sql/update-2.0.0.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE `glpi_plugin_tasklists_tasks`
2 | CHANGE `comment` `content` text collate utf8mb4_unicode_ci;
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tasklists.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/InfotelGLPI/tasklists/db68fda7243a85b5ce72dad27eb2c6cf2ea307c0/tasklists.png
--------------------------------------------------------------------------------
/tasklists.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Tasks List (Kanban)
4 | tasklists
5 | stable
6 | https://raw.githubusercontent.com/InfotelGLPI/tasklists/master/tasklists.png
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | - Ajout de commentaires sur les tâches.
- Lien avec les tickets.
- Utilisation de gabarits
- Gestion des tâches archivées.
- Ajout de notes possibles sur les tâches.
- Peut être utilisé avec le collecteur de mail pour créer des tâches.
- Peut être utilisé avec le plugin mydashboard d'Infotel.]]>
15 | - Can add comments on tasks.
- Link with tickets.
- Can use templates.
- Manage archived tasks.
- Can add notes on tasks.
- Can be used with mail collector to create tasks.
- Can be used with mydashboard plugin of Infotel]]>
16 | - K úkolům je možné přidávat poznámky.
- Je možné použít s přivaděčem e-mailů a vytvářet úkoly skrze něj.
- Je možné použít se zásuvným modulem Moje nástěnka]]>
17 |
18 |
19 | https://github.com/InfotelGLPI/tasklists
20 | https://github.com/InfotelGLPI/tasklists/releases
21 | https://github.com/InfotelGLPI/tasklists/issues
22 | https://github.com/InfotelGLPI/tasklists/wiki
23 |
24 | Xavier Caillaud
25 | Infotel
26 |
27 |
28 |
29 | 2.0.4
30 | ~10.0
31 | https://github.com/InfotelGLPI/tasklists/releases/download/2.0.4/glpi-tasklists-2.0.4.tar.bz2
32 |
33 |
34 | 2.0.3
35 | ~10.0
36 | https://github.com/InfotelGLPI/tasklists/releases/download/2.0.3/glpi-tasklists-2.0.3.tar.bz2
37 |
38 |
39 | 2.0.2
40 | ~10.0
41 | https://github.com/InfotelGLPI/tasklists/releases/download/2.0.2/glpi-tasklists-2.0.2.tar.bz2
42 |
43 |
44 | 2.0.1
45 | ~10.0
46 | https://github.com/InfotelGLPI/tasklists/releases/download/2.0.1/glpi-tasklists-2.0.1.tar.bz2
47 |
48 |
49 | 2.0.0
50 | ~10.0
51 | https://github.com/InfotelGLPI/tasklists/releases/download/2.0.0/glpi-tasklists-2.0.0.tar.bz2
52 |
53 |
54 | 2.0.0-rc2
55 | ~10.0
56 | https://github.com/InfotelGLPI/tasklists/releases/download/2.0.0-rc2/glpi-tasklists-2.0.0-rc2.tar.bz2
57 |
58 |
59 | 2.0.0-rc1
60 | ~10.0
61 | https://github.com/InfotelGLPI/tasklists/releases/download/2.0.0-rc1/glpi-tasklists-2.0.0-rc1.tar.bz2
62 |
63 |
64 | 1.6.2
65 | 9.5
66 |
67 |
68 | 1.6.1
69 | ~9.5
70 |
71 |
72 | 1.6.0
73 | ~9.5
74 |
75 |
76 |
77 | 1.5.1
78 | 9.4
79 |
80 |
81 | 1.5.0
82 | 9.4
83 |
84 |
85 | 1.4.2
86 | 9.3
87 |
88 |
89 | 1.4.1
90 | 9.3
91 |
92 |
93 | 1.4.0
94 | 9.3
95 |
96 |
97 | 1.3.1
98 | 9.3
99 |
100 |
101 | 1.3.0
102 | 9.3
103 |
104 |
105 | 1.2.0
106 | 9.2
107 |
108 |
109 | 1.1.0
110 | 9.1
111 |
112 |
113 | 1.0.0
114 | 0.90
115 |
116 |
117 |
118 | fr_FR
119 | en_GB
120 | cs_CZ
121 | fi_FI
122 |
123 |
124 |
125 |
126 | Taches
127 | Kanban
128 |
129 |
130 | Tasks
131 | Kanban
132 |
133 |
134 | Úkoly
135 |
136 |
137 |
138 | https://raw.githubusercontent.com/InfotelGLPI/tasklists/master/screenshots/kanban.png
139 | https://raw.githubusercontent.com/InfotelGLPI/tasklists/master/screenshots/addTask.png
140 | https://raw.githubusercontent.com/InfotelGLPI/tasklists/master/screenshots/Tasks%20list%20from%20Dashboard.png
141 |
142 |
143 |
--------------------------------------------------------------------------------
/templates/kanban.html.twig:
--------------------------------------------------------------------------------
1 | {#
2 | # ---------------------------------------------------------------------
3 | # GLPI - Gestionnaire Libre de Parc Informatique
4 | # Copyright (C) 2015-2022 Teclib' and contributors.
5 | #
6 | # http://glpi-project.org
7 | #
8 | # based on GLPI - Gestionnaire Libre de Parc Informatique
9 | # Copyright (C) 2003-2014 by the INDEPNET Development Team.
10 | #
11 | # ---------------------------------------------------------------------
12 | #
13 | # LICENSE
14 | #
15 | # This file is part of GLPI.
16 | #
17 | # GLPI is free software; you can redistribute it and/or modify
18 | # it under the terms of the GNU General Public License as published by
19 | # the Free Software Foundation; either version 2 of the License, or
20 | # (at your option) any later version.
21 | #
22 | # GLPI is distributed in the hope that it will be useful,
23 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
24 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25 | # GNU General Public License for more details.
26 | #
27 | # You should have received a copy of the GNU General Public License
28 | # along with GLPI. If not, see .
29 | # ---------------------------------------------------------------------
30 | #}
31 |
32 | {% import 'components/form/fields_macros.html.twig' as fields %}
33 | {% import 'components/form/modals_macros.html.twig' as modals %}
34 |
35 | {% if rights is not defined %}
36 | {% set rights = {
37 | 'create_item': false,
38 | 'delete_item': false,
39 | 'create_column': false,
40 | 'modify_view': false,
41 | 'order_card': false,
42 | 'create_card_limited_columns': [0],
43 | } %}
44 | {% endif %}
45 |
46 |
47 | {{ modals.modal('', '', {
48 | 'id': 'kanban-modal'
49 | }) }}
50 |
51 | {% for supported_itemtype, info in supported_itemtypes %}
52 |
53 | {{ fields.dropdownArrayField('role', null, info.team_roles, __('Role')) }}
54 | {{ fields.dropdownItemsFromItemtypes('add-teammember', '', {
55 | 'itemtypes': info.team_itemtypes
56 | }) }}
57 |
58 | {% endfor %}
59 |
60 |
78 |
--------------------------------------------------------------------------------
/tools/extract_template.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # Only strings with domain specified are extracted (use Xt args of keyword param to set number of args needed)
4 |
5 | xgettext *.php */*.php --copyright-holder='Tasklists Development Team' --package-name='GLPI - Tasklists plugin' -o locales/glpi.pot -L PHP --add-comments=TRANS --from-code=UTF-8 --force-po \
6 | --keyword=_n:1,2,4t --keyword=__s:1,2t --keyword=__:1,2t --keyword=_e:1,2t --keyword=_x:1c,2,3t \
7 | --keyword=_ex:1c,2,3t --keyword=_nx:1c,2,3,5t --keyword=_sx:1c,2,3t
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tools/update_mo.pl:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl
2 | #!/usr/bin/perl -w
3 |
4 | if (@ARGV!=0){
5 | print "USAGE update_mo.pl\n\n";
6 |
7 | exit();
8 | }
9 |
10 |
11 | opendir(DIRHANDLE,'locales')||die "ERROR: can not read current directory\n";
12 | foreach (readdir(DIRHANDLE)){
13 | if ($_ ne '..' && $_ ne '.'){
14 |
15 | if(!(-l "$dir/$_")){
16 | if (index($_,".po",0)==length($_)-3) {
17 | $lang=$_;
18 | $lang=~s/\.po//;
19 |
20 | `msgfmt locales/$_ -o locales/$lang.mo`;
21 | }
22 | }
23 |
24 | }
25 | }
26 | closedir DIRHANDLE;
27 |
28 | #
29 | #
30 |
--------------------------------------------------------------------------------
/tools/update_po.pl:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl
2 | #!/usr/bin/perl -w
3 |
4 | if (@ARGV!=2){
5 | print "USAGE update_po.pl transifex_login transifex_password\n\n";
6 |
7 | exit();
8 | }
9 | $user = $ARGV[0];
10 | $password = $ARGV[1];
11 |
12 | opendir(DIRHANDLE,'locales')||die "ERROR: can not read current directory\n";
13 | foreach (readdir(DIRHANDLE)){
14 | if ($_ ne '..' && $_ ne '.'){
15 |
16 | if(!(-l "$dir/$_")){
17 | if (index($_,".po",0)==length($_)-3) {
18 | $lang=$_;
19 | $lang=~s/\.po//;
20 |
21 | `wget --user=$user --password=$password --output-document=locales/$_ http://www.transifex.com/api/2/project/GLPI_tasklists/resource/glpi/translation/$lang/?file=$_`;
22 | }
23 | }
24 |
25 | }
26 | }
27 | closedir DIRHANDLE;
28 |
29 | #
30 | #
31 |
--------------------------------------------------------------------------------