Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Version 3.0.4 Release #1245

Merged
merged 90 commits into from Nov 3, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
90 commits
Select commit Hold shift + click to select a range
9d0e867
Add linter (ESLint) for JS files
dkocich Jan 31, 2018
3296f37
Add recommended settings to ESLint, remove Windows linebreaks
dkocich Feb 2, 2018
7b3bc24
Add API get user by id
ethan-nelson Mar 17, 2018
95cf545
sync up with master
smit1678 Jul 18, 2018
e50d235
Catch login redirect loop
ethan-nelson Aug 12, 2018
e27291a
Preserve existing task history on task split
nrotstan Aug 30, 2018
6cf57ae
Merge branch 'develop' of github.com:hotosm/tasking-manager into develop
smit1678 Sep 20, 2018
62bc5af
#721: fixing error message alignment for a self-intersecting shape
Thrazadin Oct 2, 2018
5d60681
#721: Removed a div tag by accident. Adding it back in
Thrazadin Oct 2, 2018
e2052b5
Revert "#721: Removed a div tag by accident. Adding it back in"
Thrazadin Oct 2, 2018
2878d7c
#721: Removed a div tag by accident. Adding it back in
Thrazadin Oct 2, 2018
9c2c825
#721: fixing whitespace
Thrazadin Oct 2, 2018
3f372dc
Merge branch 'develop' of github.com:hotosm/tasking-manager into develop
smit1678 Oct 2, 2018
0d9c14c
Update README.md
Akshit312 Oct 2, 2018
74c2e82
Merge pull request #1196 from Akshit312/patch-1
ethan-nelson Oct 3, 2018
6b0f40f
Merge pull request #1194 from Thrazadin/721
ethan-nelson Oct 3, 2018
cc21dae
Update de.json
marlenealv Oct 3, 2018
fa04608
Merge pull request #1198 from marlenealv/develop
ethan-nelson Oct 4, 2018
49493ba
Add translation repo to CONTRIBUTING
ethan-nelson Oct 4, 2018
9383c4f
Add new SPLIT task status
nrotstan Oct 4, 2018
0c14a1a
Merge branch 'develop' into preserve-task-history-on-split
nrotstan Oct 5, 2018
de00aea
Merge pull request #1200 from hotosm/contributing-translations
smit1678 Oct 5, 2018
0ee74c6
Allow commenting on task without locking it
nrotstan Sep 15, 2018
0cb1fdb
Merge branch 'develop' of github.com:hotosm/tasking-manager into develop
smit1678 Oct 5, 2018
9251e22
update translation files, add new translations of vi, fa_IR, gl, ta
smit1678 Oct 5, 2018
5cc0766
Add user expert-mode setting
nrotstan Oct 5, 2018
a8e7b40
Enhance readability of task history
nrotstan Oct 5, 2018
0a9d5b8
Added icons to buttons available when mapping.
jillhkm Oct 6, 2018
a0a3b99
Create new common css entry for markdown-to-html
jonyeezs Oct 7, 2018
b662c9d
Some SMTP Servers, such as gmail, don't use port 25. This causes a t…
lesserj Oct 8, 2018
92b6b31
Files were not getting released when done
lesserj Oct 8, 2018
a676cbc
When the test failed, the cleanup didn't run because it was not prope…
lesserj Oct 8, 2018
4457537
tasks.count() requires a parameter. The result is actually an array,…
lesserj Oct 8, 2018
52dbbd8
The hash of the result has changed. This is probably because the tes…
lesserj Oct 8, 2018
dc1b88c
Remove writing to absolute home directory path, which caused the test…
lesserj Oct 8, 2018
88c55cd
assertEquals is deprecated. Since we use both assertEqual and assert…
lesserj Oct 8, 2018
2059c2d
Merge pull request #1209 from jonyeezs/ui-refinement/standardz-markdo…
ethan-nelson Oct 8, 2018
6c3bc76
Merge pull request #1039 from dkocich/add-eslint
ethan-nelson Oct 8, 2018
d060b8e
Add Finnish translations
ernoma Oct 8, 2018
d616c35
Unlock all expired actions in task history
Hulios Oct 8, 2018
d58027a
Revert removal of get_last_action
Hulios Oct 8, 2018
7e0c10c
update config with new translations
smit1678 Oct 9, 2018
30b3bf3
Merge pull request #1203 from hotosm/update/transifex
smit1678 Oct 9, 2018
be35096
Merge branch 'develop' into fi-localisation
smit1678 Oct 9, 2018
4f3eddc
Merge pull request #1204 from nrotstan/enhance-task-history-readability
ethan-nelson Oct 9, 2018
f939d35
Merge branch 'develop' into preserve-task-history-on-split
ethan-nelson Oct 9, 2018
7bccbee
Merge pull request #1178 from nrotstan/preserve-task-history-on-split
ethan-nelson Oct 9, 2018
33cf341
Merge pull request #1215 from ernoma/fi-localisation
ethan-nelson Oct 9, 2018
7d04a1e
#1181 rearrange buttons for mapping tab
ramyaragupathy Oct 9, 2018
5c45d70
#1181 splittable check and div arrangment
ramyaragupathy Oct 9, 2018
cb3f900
Restore the length of events in history view.
Oct 9, 2018
b62b084
#1181 split task + bad imagery button in the same row
ramyaragupathy Oct 9, 2018
e51067a
Add robustness to updating task history
hunt3ri Oct 10, 2018
9033f85
Merge pull request #1211 from lesserj/fix-tests
ethan-nelson Oct 10, 2018
52afdc2
Merge pull request #1201 from nrotstan/comment-on-task-without-locking
ethan-nelson Oct 10, 2018
8a9efbc
#1181 remove comment box next to split task
ramyaragupathy Oct 10, 2018
bf8292e
Merge branch 'develop' into mapping-buttons-layout
ramyaragupathy Oct 10, 2018
a491b7a
Merge pull request #1222 from PierrePIRONIN/restore-length-event
ethan-nelson Oct 10, 2018
4987aa8
Add save-indicator to user expert-mode toggle
nrotstan Oct 10, 2018
d55e1e3
Merge branch 'develop' into bugfix-automatically-unlocking-tasks
Hulios Oct 10, 2018
7d97eed
Fixing tests after resolving conflicts
Hulios Oct 10, 2018
cf8de1d
Add files via upload
jillhkm Oct 12, 2018
818c4d7
Added icons for buttons when mapping
jillhkm Oct 12, 2018
0f67dd7
Removed emojis and added icons for mapping buttons
jillhkm Oct 12, 2018
a520e69
Merge pull request #1223 from hotosm/bugfix-unlock-task-multiple-or-none
ethan-nelson Oct 12, 2018
21f642a
Re-add exact time to history, chat re: issue #1152
stufinn Oct 12, 2018
94b2ed0
Merge branch 'develop' into bugfix-automatically-unlocking-tasks
ethan-nelson Oct 12, 2018
7776db0
Merge pull request #1226 from stufinn/bugfix-re-add-exact-time
ethan-nelson Oct 12, 2018
768463d
Removing extraneous entries in task autounlock fix
ethan-nelson Oct 12, 2018
3fffe55
Merge pull request #1217 from Hulios/bugfix-automatically-unlocking-t…
ethan-nelson Oct 12, 2018
200b155
Merge pull request #1205 from nrotstan/add-user-expert-mode
ethan-nelson Oct 12, 2018
8f55e02
Add loading animation to homepage stats
AndreasHae Oct 13, 2018
df2fc13
Fix typos
hugovk Oct 13, 2018
af2af77
Merge pull request #1229 from AndreasHae/loading-animation-homepage-s…
ethan-nelson Oct 14, 2018
39851a1
Merge pull request #1232 from hugovk/fix-typos
ethan-nelson Oct 14, 2018
33f33f8
Merge pull request #1206 from jillhkm/develop
smit1678 Oct 15, 2018
bd8ba6e
resolve merge conflicts
ramyaragupathy Oct 15, 2018
46e3fe9
Merge pull request #1159 from ethan-nelson/login-redirect-loop
ethan-nelson Oct 17, 2018
ac0f14a
Update flask version to 0.12.3
dakotabenjamin Oct 18, 2018
bdec2dc
Merge pull request #1239 from hotosm/dakotabenjamin-flask-update
ethan-nelson Oct 19, 2018
3b4a47d
Merge branch 'develop' into get-by-user-id-api
ethan-nelson Oct 19, 2018
2cfb0fc
Merge pull request #1075 from ethan-nelson/get-by-user-id-api
ethan-nelson Oct 19, 2018
e43e721
Update Flask to v0.12.4
ethan-nelson Oct 19, 2018
f169f98
Merge pull request #1242 from ethan-nelson/flask-update
dakotabenjamin Oct 19, 2018
8b20980
Merge pull request #1220 from hotosm/mapping-buttons-layout
smit1678 Oct 23, 2018
b010c38
#1256 Move SGV from background-image -> DOM element
ramyaragupathy Oct 26, 2018
7aa29f0
#1256 Add hover interaction for icons
ramyaragupathy Oct 26, 2018
621f4f8
Merge pull request #1260 from hotosm/icon-state-change
dakotabenjamin Oct 27, 2018
9e06166
#1256 Include svg element identifiers
ramyaragupathy Oct 27, 2018
1893739
Merge pull request #1262 from hotosm/icon-state-change
dakotabenjamin Oct 27, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
5 changes: 5 additions & 0 deletions .tx/config
Expand Up @@ -9,8 +9,11 @@ trans.bn = client/locale/bn.json
trans.cs = client/locale/cs.json
trans.de = client/locale/de.json
trans.es = client/locale/es.json
trans.fi = client/locale/fi.json
trans.fa_IR = client/locale/fa_IR.json
trans.fr = client/locale/fr.json
trans.hu = client/locale/hu.json
trans.gl = client/locale/gl.json
trans.id = client/locale/id.json
trans.it = client/locale/it.json
trans.ja = client/locale/ja.json
Expand All @@ -22,6 +25,8 @@ trans.pt = client/locale/pt.json
trans.pt_BR = client/locale/pt_BR.json
trans.ru = client/locale/ru.json
trans.sl = client/locale/sl.json
trans.ta = client/locale/ta.json
trans.uk = client/locale/uk.json
trans.vi = client/locale/vi.json
trans.zh_TW = client/locale/zh_TW.json
type = KEYVALUEJSON
3 changes: 2 additions & 1 deletion CONTRIBUTING.md
Expand Up @@ -18,6 +18,7 @@ There are many ways to contribute to a project, below are some examples:
1. Report bugs, offer ideas, and/or request features by creating “Issues” in the project repository.
2. Fork the code and play with it, whether you later choose to make a pull request or not.
3. Create pull requests for changes that you think are needed. From typos and wording changes, to significant new features or major design flaws, you will find lots of opportunities to contribute improvements. Read more about coding and committing below.
4. Review or submit language translations in the [Transifex TM3 project](https://transifex.com/hotosm/tasking-manager-3). These are later synchronized with the GitHub repository by code and project leads.

#### Issue or bug reports should include:

Expand All @@ -32,7 +33,7 @@ When creating an issue through the GitHub issue tracker, please include the foll
* The user need being addressed

#### Development issues should include:
* Specific code that needs improvement or dependancies to be investigated
* Specific code that needs improvement or dependencies to be investigated
* Rational for recommendations
* Use checklists (via - [ ]) to keep track of sub-items wherever possible

Expand Down
5 changes: 4 additions & 1 deletion README.md
Expand Up @@ -58,11 +58,12 @@ Following must be available locally:
### Environment vars:
As the project is open source we have to keep secrets out of the repo. You will need to setup the following env vars locally:

* **TM_DB** - This is the for the PostGIS connection string. If you can't access an existing DB refer to DevOps page to [set up a local DB in Docker](https://github.com/hotosm/tasking-manager/wiki/Dev-Ops#creating-a-local-postgis-database-with-docker)
* **TM_DB** - This is for the PostGIS connection string. If you can't access an existing DB refer to DevOps page to [set up a local DB in Docker](https://github.com/hotosm/tasking-manager/wiki/Dev-Ops#creating-a-local-postgis-database-with-docker)
* **TM_SECRET** - This is secret key for the TM app used by itsdangerous and flask-oauthlib for entropy
* **TM_CONSUMER_KEY** - This is the OAUTH Consumer Key used for authenticating the Tasking Manager App in OSM
* **TM_CONSUMER_SECRET** - This is the OAUTH Consumer Secret used for authenticating the Tasking Manager App in OSM
* **TM_SMTP_HOST** - The hostname for the SMTP server that is used to send email alerts
* **TM_SMTP_PORT** - The port number for the SMTP server that is used to send email alerts
* **TM_SMTP_USER** - The user for the SMTP server that is used to send email alerts
* **TM_SMTP_PASSWORD** - The password for the SMTP server that is used to send email alerts

Expand All @@ -73,6 +74,7 @@ As the project is open source we have to keep secrets out of the repo. You will
* ```export TM_CONSUMER_KEY=oauth-consumer-key-goes-here```
* ```export TM_CONSUMER_SECRET=oauth-consumer-secret-key-goes-here```
* ```export TM_SMTP_HOST=smtp-server-host-here```
* ```export TM_SMTP_PORT=smtp-server-port-here```
* ```export TM_SMTP_USER=smtp-server-user-here```
* ```export TM_SMTP_PASSWORD=smtp-server-password-here```
* Windows:
Expand All @@ -81,6 +83,7 @@ As the project is open source we have to keep secrets out of the repo. You will
* ```setx TM_CONSUMER_KEY "oauth-consumer-key-goes-here"```
* ```setx TM_CONSUMER_SECRET "oauth-consumer-secret-key-goes-here"```
* ```setx TM_SMTP_HOST "smtp-server-host-here"```
* ```setx TM_SMTP_PORT "smtp-server-port-here"```
* ```setx TM_SMTP_USER "smtp-server-user-here"```
* ```setx TM_SMTP_PASSWORD "smtp-server-password-here"```

Expand Down
25 changes: 25 additions & 0 deletions client/.eslintrc.json
@@ -0,0 +1,25 @@
{
"env": {
"browser": true
},
"globals": {
"ol": true,
"require": true
},
"extends": [
"eslint:recommended",
"angular"
],
"rules": {
"semi": [
"error",
"always"
],
"no-console": "error",
"no-debugger": "error",
"angular/di": [
"error",
"$inject"
]
}
}
2 changes: 1 addition & 1 deletion client/app/about/faq.html
Expand Up @@ -6,7 +6,7 @@ <h1 class="section__title">
{{ "Frequently Asked Questions" | translate }}
</h1>
<p>
Have questions about the new Tasking Manager? Read more below for answers to some of the most frequently asked questions by the community. If you want to know more about the new improvements to the Tasking Manger, <a href="/what-is-new">read more in the what is new section.</a>
Have questions about the new Tasking Manager? Read more below for answers to some of the most frequently asked questions by the community. If you want to know more about the new improvements to the Tasking Manager, <a href="/what-is-new">read more in the what is new section.</a>
</p>
</div>
</header>
Expand Down
4 changes: 2 additions & 2 deletions client/app/admin/create-project/create-project.controller.js
Expand Up @@ -108,7 +108,7 @@
}

/**
* Move the wizard to appropiate step for type of tasks selected
* Move the wizard to appropriate step for type of tasks selected
*/
vm.setWizardStepAfterTaskTypeSelection = function () {
if (vm.taskType === 'square-grid') {
Expand Down Expand Up @@ -258,7 +258,7 @@
};

/**
* Create arbitary tasks
* Create arbitrary tasks
*/
vm.createArbitaryTasks = function () {
if (vm.isImportedAOI) {
Expand Down
4 changes: 2 additions & 2 deletions client/app/admin/create-project/create-project.html
Expand Up @@ -46,10 +46,10 @@ <h4>{{ 'Step 1: Define Area' | translate }}</h4>
</dd>
</dl>
<div>
<span class="error" ng-show="createProjectCtrl.AOIValidationMessage == 'NO_FEATURES'">
<span class="error" style="float:left;margin-top:10px" ng-show="createProjectCtrl.AOIValidationMessage == 'NO_FEATURES'">
{{ 'No Area of Interest has been drawn.' | translate }}
</span>
<span class="error"
<span class="error" style="float:left;margin-top:10px"
ng-show="createProjectCtrl.AOIValidationMessage == 'SELF_INTERSECTIONS'">
{{ 'The Area of Interest contains self intersections.' | translate }}
</span>
Expand Down
4 changes: 2 additions & 2 deletions client/app/components/project-chat/project-chat.html
Expand Up @@ -4,8 +4,8 @@
<p class="space-bottom--none">
<strong>
<a href="./user/{{ message.username }}" target="_blank"/>{{ message.username }}</a>
</strong> <span class="metadata" am-time-ago="message.timestamp | amUtc | amLocal"></span></p>
<p ng-bind-html="message.message"></p>
</strong> <span class="metadata" am-time-ago="message.timestamp | amUtc | amLocal" title="{{ message.timestamp }}"></span></p>
<p markdown-to-html="message.message"></p>
</div>
<div ng-show="projectChatCtrl.messages.length < 1">
{{ 'No project discussion yet' | translate }}
Expand Down
4 changes: 3 additions & 1 deletion client/app/home/home.controller.js
Expand Up @@ -11,6 +11,7 @@

function homeController(statsService) {
var vm = this;
vm.hasLoaded = false;
vm.mappersOnline = 0;
vm.tasksMapped = 0;
vm.totalMappers = 0;
Expand All @@ -29,11 +30,12 @@
resultsPromise.then(function (data) {
vm.stats = data;
console.log(vm.stats);
vm.hasLoaded = true;
vm.mappersOnline = data.mappersOnline;
vm.tasksMapped = data.tasksMapped;
vm.totalMappers = data.totalMappers;
}, function (data) {
// Swallow error counters will show 0 but not catastrophic
// Swallow error counters will show loading animation but not catastrophic
});
}
}
Expand Down
21 changes: 15 additions & 6 deletions client/app/home/home.html
Expand Up @@ -13,20 +13,29 @@ <h1 class="section__title">
<div class="inner">
<ul class="homepage-stats__cards">
<li id="homepage-stats-1" class="homepage-stats__card">
<div class="stats-card__amount">
<strong>{{ homeCtrl.mappersOnline | number }}</strong>
<div class="stats-card__container">
<div class="stats-card__loading" ng-if="!homeCtrl.hasLoaded"></div>
<div class="stats-card__amount" ng-if="homeCtrl.hasLoaded">
<strong>{{ homeCtrl.mappersOnline | number }}</strong>
</div>
</div>
<div class="stats-card__title">Mappers Online</div>
</li>
<li id="homepage-stats-2" class="homepage-stats__card">
<div class="stats-card__amount">
<strong>{{ homeCtrl.tasksMapped | number }}</strong>
<div class="stats-card__container">
<div class="stats-card__loading" ng-if="!homeCtrl.hasLoaded"></div>
<div class="stats-card__amount" ng-if="homeCtrl.hasLoaded">
<strong>{{ homeCtrl.tasksMapped | number }}</strong>
</div>
</div>
<div class="stats-card__title">Tasks Mapped</div>
</li>
<li id="homepage-stats-3" class="homepage-stats__card">
<div class="stats-card__amount">
<strong>{{ homeCtrl.totalMappers | number }}</strong>
<div class="stats-card__container">
<div class="stats-card__loading" ng-if="!homeCtrl.hasLoaded"></div>
<div class="stats-card__amount" ng-if="homeCtrl.hasLoaded">
<strong>{{ homeCtrl.totalMappers | number }}</strong>
</div>
</div>
<div class="stats-card__title">Total Mappers</div>
</li>
Expand Down
18 changes: 18 additions & 0 deletions client/app/profile/profile.controller.js
Expand Up @@ -20,10 +20,12 @@
vm.projects = [];
vm.map = null;
vm.highlightSource = null;
vm.savingExpertMode = false;

// Errors - for displaying messages when API calls were not successful
vm.errorSetRole = false;
vm.errorSetLevel = false;
vm.errorSetExpertMode = false;
vm.errorSetContactDetails = false;
vm.errorVerificationEmailSent = false;

Expand Down Expand Up @@ -115,6 +117,22 @@
});
};

/**
* Set the user's expert mode
* @param isExpert
*/
vm.setExpertMode = function(isExpert){
vm.errorSetExpertMode = false;
vm.savingExpertMode = true;
userService.setExpertMode(isExpert).then(function(data) {
getUser();
vm.savingExpertMode = false;
}, function(){
vm.errorSetExpertMode = true;
vm.savingExpertMode = false;
});
};

/**
* Get the user's details from the account service
*/
Expand Down
10 changes: 10 additions & 0 deletions client/app/profile/profile.html
Expand Up @@ -262,6 +262,16 @@ <h4>{{ 'Set mapper level' | translate }}</h4>
<p ng-show="profileCtrl.errorSetLevel" class="error">{{ 'An error occurred when setting the level.' | translate }}</p>
</div>
</div>
<div>
<h4>{{ 'Expert Mode' | translate }}</h4>
<p>{{ 'Expert mode makes advanced and experimental features available. Most users should leave this off.' | translate }}</p>
<label class="form__option">
<i ng-show="profileCtrl.savingExpertMode" class="fa fa-spinner fa-spin fa-lg fa-fw"></i>
<input ng-show="!profileCtrl.savingExpertMode" type="checkbox" ng-model="profileCtrl.userDetails.isExpert" ng-change="profileCtrl.setExpertMode(profileCtrl.userDetails.isExpert)"/>
{{ 'Expert Mode' | translate }}
</label>
<p ng-show="profileCtrl.errorSetExpertMode" class="error">{{ 'An error occurred when altering expert mode setting.' | translate }}</p>
</div>
</div>
</div>
</div>
Expand Down
14 changes: 14 additions & 0 deletions client/app/project/comment-box.html
@@ -0,0 +1,14 @@
<div>
<textarea class="form__control space-bottom--none" type="text" mentio
rows="4"
maxlength="{{ projectCtrl.maxlengthComment }}"
placeholder="{{ 'Leave a comment' | translate }}"
mentio-typed-text="typedTerm"
mentio-search="projectCtrl.searchUser(term)"
mentio-select="projectCtrl.formatUserTag(item)"
mentio-items="projectCtrl.suggestedUsers"
mentio-template-url="/app/project/user-suggestions-menu.html"
ng-model="projectCtrl.comment"></textarea>
<p>{{ projectCtrl.maxlengthComment - projectCtrl.comment.length }}
{{ 'characters remaining' | translate }}</p>
</div>