[zanata/zanata-server] b0e018: feat(project-roles): add project-specific roles (Z...

GitHub noreply at github.com
Tue Sep 15 23:38:03 UTC 2015


  Branch: refs/heads/integration/master
  Home:   https://github.com/zanata/zanata-server
  Commit: b0e0184ef104f1617d8fe405d4a89cb03acc9afc
      https://github.com/zanata/zanata-server/commit/b0e0184ef104f1617d8fe405d4a89cb03acc9afc
  Author: David Mason <drdmason at gmail.com>
  Date:   2015-09-16 (Wed, 16 Sep 2015)

  Changed paths:
    A docs/images/project-people-manage-permissions.png
    M docs/images/project-translation-settings.png
    A docs/images/project-view-people.png
    M docs/images/project-view-versions.png
    M docs/user-guide/languages/language-team.md
    M docs/user-guide/projects/project-settings.md
    A docs/user-guide/projects/project-team.md
    M docs/user-guide/projects/project-view.md
    M functional-test/src/main/java/org/zanata/page/projects/ProjectBasePage.java
    R functional-test/src/main/java/org/zanata/page/projects/ProjectMaintainersPage.java
    A functional-test/src/main/java/org/zanata/page/projects/ProjectPeoplePage.java
    M functional-test/src/test/java/org/zanata/feature/project/EditPermissionsTest.java
    M mkdocs.yml
    M pom.xml
    M zanata-model/src/main/java/org/zanata/model/HAccountOption.java
    M zanata-model/src/main/java/org/zanata/model/HDocument.java
    M zanata-model/src/main/java/org/zanata/model/HLocale.java
    M zanata-model/src/main/java/org/zanata/model/HPerson.java
    M zanata-model/src/main/java/org/zanata/model/HProject.java
    M zanata-model/src/main/java/org/zanata/model/HProjectIteration.java
    A zanata-model/src/main/java/org/zanata/model/HProjectLocaleMember.java
    A zanata-model/src/main/java/org/zanata/model/HProjectMember.java
    M zanata-model/src/main/java/org/zanata/model/HTextFlowTarget.java
    A zanata-model/src/main/java/org/zanata/model/LocaleRole.java
    M zanata-model/src/main/java/org/zanata/model/ModelEntityBase.java
    A zanata-model/src/main/java/org/zanata/model/PersonProjectMemberships.java
    A zanata-model/src/main/java/org/zanata/model/ProjectRole.java
    A zanata-model/src/main/java/org/zanata/model/type/LocaleRoleDescriptor.java
    A zanata-model/src/main/java/org/zanata/model/type/LocaleRoleType.java
    A zanata-model/src/main/java/org/zanata/model/type/ProjectRoleDescriptor.java
    A zanata-model/src/main/java/org/zanata/model/type/ProjectRoleType.java
    M zanata-model/src/test/java/org/zanata/model/SlugEntityBaseTest.java
    M zanata-war/pom.xml
    M zanata-war/src/main/java/org/zanata/action/CopyTransAction.java
    M zanata-war/src/main/java/org/zanata/action/ProjectHome.java
    M zanata-war/src/main/java/org/zanata/action/ProjectHomeAction.java
    A zanata-war/src/main/java/org/zanata/action/ProjectPermissionDialog.java
    M zanata-war/src/main/java/org/zanata/action/SortingType.java
    M zanata-war/src/main/java/org/zanata/action/VersionGroupHome.java
    M zanata-war/src/main/java/org/zanata/action/VersionGroupHomeAction.java
    M zanata-war/src/main/java/org/zanata/dao/ProjectDAO.java
    A zanata-war/src/main/java/org/zanata/dao/ProjectLocaleMemberDAO.java
    A zanata-war/src/main/java/org/zanata/dao/ProjectMemberDAO.java
    M zanata-war/src/main/java/org/zanata/rest/service/ProjectService.java
    M zanata-war/src/main/java/org/zanata/security/SecurityFunctions.java
    M zanata-war/src/main/java/org/zanata/security/permission/PermissionGranter.java
    M zanata-war/src/main/java/org/zanata/service/impl/RegisterServiceImpl.java
    M zanata-war/src/main/resources/db/changelogs/db.changelog-3.8.xml
    M zanata-war/src/main/resources/messages.properties
    M zanata-war/src/main/webapp-jboss/WEB-INF/classes/META-INF/persistence.xml
    A zanata-war/src/main/webapp/WEB-INF/layout/project/people-tab.xhtml
    A zanata-war/src/main/webapp/WEB-INF/layout/project/person-permissions-modal.xhtml
    M zanata-war/src/main/webapp/WEB-INF/layout/project/settings-tab-general.xhtml
    M zanata-war/src/main/webapp/WEB-INF/layout/project/settings-tab-translation.xhtml
    M zanata-war/src/main/webapp/WEB-INF/layout/version/settings-tab.xhtml
    M zanata-war/src/main/webapp/iteration/view.xhtml
    M zanata-war/src/main/webapp/project/project.xhtml
    A zanata-war/src/main/webapp/resources/script/jsf-ajax-viewstate-fix.js
    M zanata-war/src/main/webapp/resources/zanata/autocomplete.xhtml
    A zanata-war/src/main/webapp/resources/zanata/person-permission-entry.xhtml
    A zanata-war/src/main/webapp/resources/zanata/person-tile.xhtml
    M zanata-war/src/main/webapp/tm/home.xhtml
    M zanata-war/src/test/resources/META-INF/persistence.xml
    M zanata-war/src/test/resources/arquillian/persistence.xml
    M zanata-war/src/test/resources/org/zanata/test/model/ClearAllTables.dbunit.xml
    M zanata-war/src/test/resources/org/zanata/test/model/CopyTransTestData.dbunit.xml
    M zanata-war/src/test/resources/org/zanata/test/model/CopyVersionData.dbunit.xml
    M zanata-war/src/test/resources/org/zanata/test/model/DocumentsData.dbunit.xml
    M zanata-war/src/test/resources/org/zanata/test/model/MergeTranslationsData.dbunit.xml
    M zanata-war/src/test/resources/org/zanata/test/model/ProjectsData.dbunit.xml
    M zanata-war/src/test/resources/org/zanata/test/model/TranslationMemoryData.dbunit.xml
    M zanata-war/src/test/resources/performance/GetTransUnitListTest.dbunit.xml

  Log Message:
  -----------
  feat(project-roles): add project-specific roles (ZNTA-524)

Squashed commit of the following:

commit 022f5b55f9936684e91af2617e23724cd51e64c1
Author: David Mason <drdmason at gmail.com>
Date:   Wed Sep 9 10:35:11 2015 +1000

    fix(version-group): ensure languages, projects and maintainers can be added properly

    The override of create() was calling getInstance() before a slug was available, so creating
    an empty instance that caused failures later.
    The maintainer autocomplete was not using service locator to look up a fresh copy of
    versionGroupHome, so this was added to prevent a NullPointerException.

commit 72d2c156bc7f496d88304736a6ee848649fae6ea
Author: David Mason <drdmason at gmail.com>
Date:   Wed Sep 9 08:40:55 2015 +1000

    fix(project-roles): add notification when invite-only setting changes.

commit 67f3c80106955d23d147457960c192daf78e08de
Author: Damian Jansen <djansen at redhat.com>
Date:   Tue Sep 8 13:51:04 2015 +1000

    fix(test): Fix functional tests for new People ui

commit 396d1bb07a0928aa72a65656b8bcc3e25a75fd73
Author: David Mason <drdmason at gmail.com>
Date:   Fri Sep 4 16:32:19 2015 +1000

    perf(security): add caching to some queries used in security checks

commit 871e9093b2abd97414ffc14db53a7b337ba5b190
Author: David Mason <drdmason at gmail.com>
Date:   Fri Sep 4 16:21:21 2015 +1000

    fix(tm): ensure TM import dialog is shown properly

commit 20754296f0f27317ea1f820edbec59cc6a9d71de
Author: David Mason <drdmason at gmail.com>
Date:   Fri Sep 4 13:54:43 2015 +1000

    fix(project-roles): throw exception if user attempts roles edit

    The UI does not allow roles edit if a user is not authorized, but this
    check will give some feedback if a user manages to work around it or a
    bug is introduced that prevents the UI from hiding the functionality from
    users who are not authorized to use it.

commit 9ba9e65b85b0cb1af4134fc5e1e8ee38455077db
Author: David Mason <drdmason at gmail.com>
Date:   Fri Sep 4 13:45:42 2015 +1000

    fix: prevent error when maintainer tries to import translations

commit 6ed731c4bf18aef0dc85748c7ec6d13e96fc0a25
Author: David Mason <drdmason at gmail.com>
Date:   Fri Sep 4 13:41:03 2015 +1000

    fix(copy-trans): prevent error in security check for copy trans

    Had both a null target for the check, and a lazy collection issue.

commit b16d944d4865f6f68d2b23ff162e7d1b0409372b
Author: David Mason <drdmason at gmail.com>
Date:   Fri Sep 4 12:58:51 2015 +1000

    fix(copy-trans): ensure copy-trans dialog appears when it should

commit 9019fbfd6d8efd7d6d2ceae0ee3e9a282cdc8372
Author: David Mason <drdmason at gmail.com>
Date:   Fri Sep 4 09:28:03 2015 +1000

    fix(project-roles): update people count on tab when roles change

    Was not updating until page refresh, so the number was wrong when someone
    was added or removed from the project.

commit ace1b409c896d35ad98ffc3f0e65a6ad5620c52a
Author: David Mason <drdmason at gmail.com>
Date:   Thu Sep 3 16:59:29 2015 +1000

    fix(project-roles): prevent last maintainer being removed.

commit 7fb493470fd93e8d745541a7f7e5b91b70d6c85d
Author: David Mason <drdmason at gmail.com>
Date:   Thu Sep 3 15:38:25 2015 +1000

    fix: prevent error after request to add version to group

commit 82cd279203ffada1f1ab45057c2b9cd3d05d164f
Author: David Mason <drdmason at gmail.com>
Date:   Thu Sep 3 15:36:48 2015 +1000

    fix: prevent lazy collection error when viewing groups

commit e8231e1e5991d0a46d1900db0711c751efe6dc53
Author: David Mason <drdmason at gmail.com>
Date:   Thu Sep 3 13:11:48 2015 +1000

    fix(permissions): avoid an error state when checking translation comment permissions

    A lazy instantiation exception was occurring when checking HPerson.isMaintainer(HProject) in
    security functions to check for review comment permissions.
    A few missing review comment rules were added as well.

commit 644f391bc70f72159565c37f1897ffddb46ce04b
Author: David Mason <drdmason at gmail.com>
Date:   Thu Sep 3 12:49:48 2015 +1000

    refactor: remove excess whitespace

commit 7fd9315a000d285771e06e63004594145d25e625
Author: David Mason <drdmason at gmail.com>
Date:   Thu Sep 3 12:47:55 2015 +1000

    docs(project-roles): add docs for project roles

    Includes a few modifications to related docs, and some updated screenshots
    where the Maintainers tab was shown, since it has changed to the People tab.

commit 1c312992cd092ba19d56e3f9a8df30fbd7845fbb
Author: David Mason <drdmason at gmail.com>
Date:   Wed Sep 2 09:23:50 2015 +1000

    fix(project-delete): make sure project delete button works

    Project delete button was failing because the click event triggered modal hide
    immediately after modal show. Changing to the standard data-attributes for modal
    toggling fixed the problem.

commit 20b87e90df10aeb83cd1b1beaab261cce6cc1d81
Author: David Mason <drdmason at gmail.com>
Date:   Tue Sep 1 10:12:06 2015 +1000

    refactor(project-permissions): make all UI text translatable

commit 2a2761b20dee874b017403c132eed50fcdb04cef
Author: David Mason <drdmason at gmail.com>
Date:   Mon Aug 31 17:13:41 2015 +1000

    refactor(project-roles): make UI strings translatable

commit 2e3b76c064abc2868f26cf3aa9a4512e0d4eab1c
Author: Patrick Huang <pahuang at redhat.com>
Date:   Mon Aug 31 16:06:42 2015 +1000

    fix: security permission check runs into an infinite loop

commit 7d8af49cffb54166d5768018f0f8060318fb9161
Author: David Mason <drdmason at gmail.com>
Date:   Mon Aug 31 16:03:52 2015 +1000

    fix(project-roles): show locale roles in consistent order

commit c8617db5643868b15e7ec3c40c3dae64c3d23a3d
Author: David Mason <drdmason at gmail.com>
Date:   Mon Aug 31 14:58:08 2015 +1000

    fix(project-roles): display locales in correct order project people

    Was not sorting locales, so they would be shown in whatever arbitrary order they
    were retrieved from the database. Now sorting alphabetically by lowercase display
    name.

commit 911b4aefed859a891460022f5c9ec69c85d8bfe7
Author: David Mason <drdmason at gmail.com>
Date:   Mon Aug 31 14:18:44 2015 +1000

    fix(project-roles): always show people in alphabetical order

    Was sorting by display name, but showing username. Changed to sort by
    username, and made sure the list of people under locale groups are in
    order as well.

commit 4725ccaf7d67af6ceeb5334546568691ed8f67e2
Author: David Mason <drdmason at gmail.com>
Date:   Mon Aug 31 11:43:01 2015 +1000

    fix(project-permissions): show locales in correct order in permission dialog

    Was showing in default ordering. Now show in alphabetic ordering.

commit 80e3fff606ff5aaafb4b3266c1dc3ec54689a99d
Author: David Mason <drdmason at gmail.com>
Date:   Mon Aug 31 09:46:09 2015 +1000

    fix: scroll permission modal to top whenever it opens

    This is also fixed in assets, but there may be some issues with updating assets version
    at the moment so I chose to add a safe workaround for now. There will be no harm when
    the assets version is updated, but this change can be reverted when assets is stable and
    updated.

commit bdb52fc51bc52b7acd70d3d1c5bd17c6b3da4500
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 27 16:59:03 2015 +1000

    refactor: remove seam taglib from jsf templates

commit 8f5a3bbade7098847b6fe1c14822c0c86a3236fc
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 27 16:14:50 2015 +1000

    refactor: use tryFind instead of for loop to improve readability

commit 3f8158be19392079f00cf4f7f94192cba7551f92
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 27 15:55:47 2015 +1000

    refactor: remove excessive logging

commit b1c76b4e25005f0afd1862d2dfd73a5f1ac6b972
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 27 15:55:34 2015 +1000

    refactor: add explanatory comment

commit 774d4345d738b0158b19a67a733854626f4f6864
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 27 15:55:11 2015 +1000

    refactor: fix typos

commit 1baf96dc8bc1098b95b4830596e374f7f89654d3
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 27 15:34:48 2015 +1000

    fix(equals): add missing equals from some entities

    Were hitting the assertion in ModelEntityBase.equals() that ensures they have
    overridden equals. Specified `of = {}` for some classes to prevent a circular
    reference from trying to check properties that have a link back. All that should
    be needed is the identifier in the super equals, and the class check.

commit 60716e639c3de7f86cf79b269606b39fd0c970ad
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 27 14:48:16 2015 +1000

    test: update test data to match new database structure

    Addition of required field HProject.allowGlobalTranslation and removal
    of HProject_Maintainer (replaced with HProject_Member) were causing test
    errors.

commit 113126ddecb3715e62ec9587b2083c0e041d1cdc
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 27 14:47:10 2015 +1000

    refactor: return immutable list as immutable list rather than general list

commit 8465fa48d5e5f1e7f1efa8d0d46c46b250d63ff1
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 27 11:35:19 2015 +1000

    test(SlugEntityBase): ensure that test properly overrides equals and hashCode

    The test class was not following the requirement to override equals for all
    subclasses of ModelEntityBase.

commit cb7643b050f168349fc063c1cd1eaaf2da5379b6
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 27 11:27:30 2015 +1000

    refactor: add newline to end of file

commit fb609abee79caba647ad12e19a867874fe564256
Merge: 3438fb2 fdb2494
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 27 10:59:31 2015 +1000

    Merge branch 'project-roles-ui' into project-roles-final

    Conflicts:
    	pom.xml
        Just had assets version updated in the branch, and adjacent lines
        had been updated in master. Kept assets version from branch and
        the rest from master.

commit fdb249453c028cc88b51a8033c623d6bc99a2bf2
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 27 10:14:59 2015 +1000

    fix: correct button alignment

commit b5eb0ac270ae2c0a1b9ef9eed1d8da09b4190c35
Author: David Mason <drdmason at gmail.com>
Date:   Wed Aug 26 17:18:19 2015 +1000

    fix(project-roles): refresh project permissions display when permissions are saved

commit f075fd9043f29ed2ac84ca2ef4ff2331cb374b9e
Author: David Mason <drdmason at gmail.com>
Date:   Wed Aug 26 17:16:08 2015 +1000

    refactor: rename jsf ajax viewstate fix script

commit 35bd793e8c77f7adb61e8bff5d4f19e45de5e36c
Author: David Mason <drdmason at gmail.com>
Date:   Wed Aug 26 15:42:12 2015 +1000

    refactor(ProjectPermissionDialog): remove unused conversation scope

    The conversation scope was a workaround for a deficit in jsf that made it lose
    the page scope in some cases where ajax is involved. The script named
    jsp-ajax-viewstate-fix.js replaces the missing jsf functionality, so the
    conversation scope can be removed.

commit 2aacc304801d226b3d266fce4c9f89b92f1ec048
Author: David Mason <drdmason at gmail.com>
Date:   Wed Aug 26 15:31:46 2015 +1000

    feat(project-roles): customize permission submit button depending on person selected

commit 846af7fae3e06b84468b1b4799c6be0e21f9ae46
Author: David Mason <drdmason at gmail.com>
Date:   Wed Aug 26 15:02:04 2015 +1000

    change permission dialog title depending on selected member

commit bbb6c36402f49b0a6413e37f4a5df4ee4ccb08e5
Author: David Mason <drdmason at gmail.com>
Date:   Wed Aug 26 14:48:01 2015 +1000

    only show permission options when a person is selected

    Note: the only change is moving a closing tag of <s:fragment> lower to
    encompass more of the code (see first and last line of diff). The other
    changed lines just have an extra 2 spaces of indentation.

commit 9cf52e65fd8d1771d1da4afc6464ecaf17d1e3bb
Author: David Mason <drdmason at gmail.com>
Date:   Wed Aug 26 14:16:10 2015 +1000

    feat(project-roles): use separate bean for project permission dialog

    A separate bean is used to work around problems with losing the page scope
    between ajax requests.

commit f065224c20b1fc84aa239207128df36dbe55114d
Author: David Mason <drdmason at gmail.com>
Date:   Wed Aug 26 14:06:02 2015 +1000

    feat(project-roles): add button to clear selected user from permission dialog

    This includes a script that works around a bug with ajax and jsf.

commit 9f60fab434b946eafc1d48e1e71f4afb4b346dbe
Author: David Mason <drdmason at gmail.com>
Date:   Wed Aug 26 11:27:49 2015 +1000

    fix(project-roles): show correct roles when grouping people by role

    Was showing all roles in every category, rather than just the roles appropriate
    to the category. This changes so only the appropriate roles are shown in each category.

commit 77e6cdbe726778204d3254801df95388f3d16441
Author: David Mason <drdmason at gmail.com>
Date:   Tue Aug 25 12:41:37 2015 +1000

    refactor: fix up indentation on person-permission-modal.xhtml

commit 32208b0fee6a1865b1bce55256cec4970134679a
Author: David Mason <drdmason at gmail.com>
Date:   Tue Aug 25 12:26:30 2015 +1000

    add person selector to persion-permissions-modal

commit 1d96517860ba4c06fe95a1e33ee51cd57ce95425
Author: David Mason <drdmason at gmail.com>
Date:   Tue Aug 25 12:00:01 2015 +1000

    add backend for person selector in permission dialog

commit c2f2fd62e5ed6e64ff80cc1c44a0800fec3f4cc5
Author: David Mason <drdmason at gmail.com>
Date:   Tue Aug 25 12:15:10 2015 +1000

    change the refresh area on project permission modal

commit 35cfec080bbd8e6fa90550dfc109f89af66fa9ec
Author: David Mason <drdmason at gmail.com>
Date:   Mon Aug 24 14:17:53 2015 +1000

    feat(project-roles): show explanatory text for maintainer roles

    Shows text for maintainer and translation maintainer that lists the actions
    that are allowed, depending which is selected.

commit 6b5d1ea95e73972fce148081911b3768ae9d7be4
Author: David Mason <drdmason at gmail.com>
Date:   Fri Aug 21 22:42:22 2015 +1000

    fix(project-roles): show people who are not maintainers

    Was only showing people with Maintainer or TranslationMaintainer role
    (but was showing locale-related roles for those people if they had them).
    Just needed to combine the list of people with project roles and with
    locale roles to get the full list.

commit 7ee13f103492ed833165515bfe90a8b84633f69d
Author: David Mason <drdmason at gmail.com>
Date:   Fri Aug 21 19:55:03 2015 +1000

    feat(person-permission-dialog): check and disable TranslationMaintainer checkbox when Maintainer is selected.

commit 67d32b134c259fadec92b4f6b05a50897b5ee04c
Author: David Mason <drdmason at gmail.com>
Date:   Fri Aug 21 12:24:32 2015 +1000

    fix(project-people): fix typo in style class on button

commit 70f8d70e74063abec4d9837e0939a5e2df9e465e
Author: David Mason <drdmason at gmail.com>
Date:   Fri Aug 21 12:12:13 2015 +1000

    fix(security): do not output every user email address in the DOM

    User email address was being output as the id of a DOM element, which is easily seen
    by anyone with a browser. It looks like the id was not even being used anywhere.
    I do not know why this was done. Was it an attempt to generate a unique ID for each
    list item? The same person can be output in multiple categories so it would not have
    been unique anyway. I just removed it, and the list still seems to work properly.

commit fa3712cca3d64a0dc84d091f7734697a61207f20
Author: David Mason <drdmason at gmail.com>
Date:   Fri Aug 21 12:07:31 2015 +1000

    refactor(person-permission-entry): rename people-entry to person-permission-entry

    people-entry was misleading (because it only shows a single person) and too general.

commit 13e22bf248a7dc6bf0b2595f5f9a305a854752a9
Author: David Mason <drdmason at gmail.com>
Date:   Fri Aug 21 11:34:57 2015 +1000

    refactor(ajax-command-button): revert addition of unused onclick property

commit d41a55624897542039fbe82e79c1a136c665fd86
Author: David Mason <drdmason at gmail.com>
Date:   Fri Aug 21 11:30:31 2015 +1000

    refactor(person-permissions-modal): use the passed-in id as basis for other identifiers

commit 25dca43590250d00ee9d6d5daf23b34220e140ce
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 20 17:10:43 2015 +1000

    refactor(people-tab): move manage permissions dialog to separate file

commit c3e6cc8ee3eec8b1d9d7b311de028447b1031a9b
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 20 16:38:44 2015 +1000

    feat(people-tab): improve readability and move a few elements around

commit 73f3efd5f0528c8685be2b9ed758f8248e60efb4
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 20 14:39:46 2015 +1000

    refactor(people-tab): use short prefix for zanata composites

commit d48d1ce263900ac783d49da7c9fd6ace328b8b7f
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 20 14:36:02 2015 +1000

    refactor: remove unused code, rename a function

commit 3c94e6871079b18f31fc15e2ede20d5c1d5495a1
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 20 14:13:50 2015 +1000

    refactor: add missing copyright notice

commit 5fe69a407a987a5bcf6e198d92461a3ec85e524a
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 20 14:08:28 2015 +1000

    refactor: delete unused file

commit acbe4ae9e6dac26c25ed45e34cee06901063e8e4
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 20 14:03:52 2015 +1000

    refactor(ProjectHomeAction): move fields, simplify logic.

commit 690368b6d1630582c8867ab48f817aeda692cb12
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 20 13:02:22 2015 +1000

    refactor(ProjectHomeAction): clarify javadoc and simplify logic

commit 3de8fed8cc80a85da75b5d616d84b3f109902b60
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 20 11:53:27 2015 +1000

    feat(project-roles): display people roles more concisely

    - If user is both Maintainer and TranslationMaintainer, only show Maintainer
      because it includes all the TranslationMaintainer privileges.
    - Display a single line for all the roles in a single locale.

commit 6dfea7e03f9fc65c2c84058927c19ff3d75ea57f
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 20 10:53:38 2015 +1000

    refactor(PeopleFilterComparator): remove unused display values

    It was populating a map of person to role display values, but the display
    values are now generated elsewhere. Removed the display values to leave just
    a list of HPerson.

commit 8f852ff76269b1176b6fc8dff919757f921eae47
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 20 10:41:41 2015 +1000

    refactor(ProjectHomeAction): remove unused, fix license indentation, rename

commit 1c1fb01c168c99b413f411f8a12060fe057053c6
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 20 10:20:46 2015 +1000

    refactor(ProjectHome): general cleanup (remove unused, rename, move)

    - remove unused imports
    - remove excessive logging
    - remove unused code
    - move a predicate definition nearer where it is used

commit 452795fcca9c492b0e6c553875e23dcdbebeb030
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 20 10:09:00 2015 +1000

    refactor: whitespace and comment wording changes

commit f4ccc96d94edb40262ecb0ad3d538c04ece0797a
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 20 09:42:22 2015 +1000

    refactor(ProjectPersonMemberships): minor improvements and cleanup

     - remove unused imports
     - add more javadoc
     - use getters for a few more things, rather than fields

commit 51bf6d97a0de78794f42baaf7c87fe2a5c7383e7
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 20 09:33:48 2015 +1000

    refactor(ModelEntityBase): add note about why subclasses must override equals

commit 814288baed9734799b7e71753c57a9627efc16e1
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 20 09:28:06 2015 +1000

    refactor(HProjectMember): use getters for everything in equals+hashCode

commit 82c8df8f983189368a65956d5afd213a1ba71aad
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 20 09:22:10 2015 +1000

    refactor(HProjectLocaleMember): use getters for everything in equals+hashCode

commit 60eff0fc39ebef4e848eeb591bf7582b20ad13b1
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 20 09:22:00 2015 +1000

    refactor: remove unused import

commit adadf40ca56b2980b766827a4ca040db8049720a
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 20 09:10:09 2015 +1000

    refactor: improve javadoc

commit afe270f30abae3d316e6a5846a09b88af6fdbdbc
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 20 09:09:46 2015 +1000

    refactor: remove unused code

commit 14e36771f5681bf5d0827f9d993b7a1fafa783eb
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 20 09:06:00 2015 +1000

    refactor: make comment more accurate

commit 80f320406c29e4ca1815097616d383d9fedff782
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 20 08:36:35 2015 +1000

    fix(project-people): ensure people list is sorted initially

    List was starting in a random order and would sort only when some
    change was made to sorting settings. Fixed so list is always sorted
    with the current sort options regardless whether it is the first
    load or the data is flushed and regenerated.

commit 1a3e3f10fe9fc0066a35f2aaa4b3c6a39e7f0bf3
Author: David Mason <drdmason at gmail.com>
Date:   Wed Aug 19 10:51:06 2015 +1000

    fix(project-roles): apply security permissions correctly for changing project permissions

    Makes sure that project permissions can only be updated by an admin or Maintainer, and that
    project-locale permissions can only be updated by an admin, Maintainer or TranslationMaintainer.

commit 80cc6e8c47ac66a9b0cb42f1f526c184103d53c7
Author: David Mason <drdmason at gmail.com>
Date:   Wed Aug 19 10:48:33 2015 +1000

    fix(permissions): update some permission checks for new security system

    These are a few checks that were causing problems after merging master to
    this branch, which brought in the new security system.

commit a94ae732c417d9457aa1c23aa51af60ff98516f4
Author: David Mason <drdmason at gmail.com>
Date:   Wed Aug 19 10:39:48 2015 +1000

    fix(PermissionGranter): allow proxies to match accepted types

    The target object for permission was having its class checked using an == comparison,
    which returned false for proxy objects. The check is changed to isAssignableFrom so
    that any valid subclass (including a proxy) will satisfy the check.
    This does mean that if any of the entities we check security for is a subclass of
    another entity we check security for, there is potential for a false-positive match,
    but none of our entities inherit in that way.

commit fc113c13667509d43504048ab4856729b6f5aa24
Merge: 507c917 9d0387e
Author: David Mason <drdmason at gmail.com>
Date:   Tue Aug 18 16:29:45 2015 +1000

    Merge branch 'master' into project-roles-ui

    Conflicts:
    	pom.xml
    	zanata-model/src/main/java/org/zanata/model/HProject.java
    	zanata-war/src/main/java/org/zanata/action/ProjectHome.java
    	zanata-war/src/main/java/org/zanata/action/ProjectHomeAction.java
    	zanata-war/src/main/resources/db/changelogs/db.changelog-3.8.xml
    	zanata-war/src/main/webapp/project/project.xhtml

commit 507c9176c72987000b235e1de413a541a8211003
Author: David Mason <drdmason at gmail.com>
Date:   Tue Aug 18 15:19:44 2015 +1000

    WIP: prevent setting project-level permissions when not allowed to.

    Still needs to restrict properly on the server. The restrict is not working now.

commit 0ae2b58feb1d28e636b64cf6338ee3bb4f5874c4
Author: David Mason <drdmason at gmail.com>
Date:   Mon Aug 17 16:45:05 2015 +1000

    refactor: fix indentation on project people permissions dialog.

commit d7ea646764248e2bacdf689324292fea9a14f909
Author: David Mason <drdmason at gmail.com>
Date:   Mon Aug 17 16:13:18 2015 +1000

    do not show people as project members when they have no roles

    People were being temporarily shown in the project list with no roles when
    they should have been completely removed. It was just a caching issue with
    the people sorting object.

commit fc6824bf754a79ba79ebd6757e99256433ed2475
Author: David Mason <drdmason at gmail.com>
Date:   Mon Aug 17 15:56:39 2015 +1000

    change submit button text when no project permissions are selected

    Changes the text to make it clear that the person will be removed from the
    project, since they have no selected permissions.

commit 2e7c069c810117f164ec701ce607c81d56251a98
Author: David Mason <drdmason at gmail.com>
Date:   Mon Aug 17 13:44:43 2015 +1000

    show all enabled languages in person permission dialog

commit 1105a766949be148eaedb10c46baa3ba6c2b70ee
Author: David Mason <drdmason at gmail.com>
Date:   Mon Aug 17 13:44:31 2015 +1000

    remove unused UI elements from person permission dialog

commit 4c4964b007c51d53a55e3af34a82d6c1402fe107
Author: David Mason <drdmason at gmail.com>
Date:   Mon Aug 17 12:40:26 2015 +1000

    fix(entities): ensure entity equality works on proxies and is idempotent

    Hibernate proxy entities were causing a problem because of the getClass() comparison
    in ModelEntityBase.equals().
    There were also many comparisons in equals and hashCode that used field comparisons,
    which can give false null values in proxies. All these were changed to use method
    accessors.

commit 9ccc67210d7dd069007094f4a2e5fe0723d8ac7f
Author: Alex Eng <aeng at redhat.com>
Date:   Fri Aug 14 14:19:35 2015 +1000

    Clear cached project entity after edit role

commit 55751c3ffe35a414dc226dbf09787be92e1d78b4
Author: David Mason <drdmason at gmail.com>
Date:   Fri Aug 14 11:32:01 2015 +1000

    WIP: ensure that roles persist properly.

commit 601fee7577b0e0247963c1b8acbcf2a431000689
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 13 11:27:55 2015 +1000

    use method form of ID for entity equality and hashcode calculations

    Field for ID may not be populated in hibernate entities, so the only
    reliable way to ensure the ID is not null is to use a method to access
    it. Using method access allows hibernate to intercept the method call
    and return the id correctly.

commit daea2ce018b7c9f96f93ac54d6a1e3c442f0d4e2
Author: David Mason <drdmason at gmail.com>
Date:   Tue Aug 11 13:37:45 2015 +1000

    WIP: add/remove project role without an error

commit bc8a046e4fa6b0b4dfe458ef31a0239e80f6921e
Author: Alex Eng <aeng at redhat.com>
Date:   Thu Aug 6 15:51:47 2015 +1000

    Rerender people tab when role changed

commit c969376f33bbeab813c41497c5b5d86759be7193
Author: Alex Eng <aeng at redhat.com>
Date:   Thu Aug 6 15:39:46 2015 +1000

    Persist project and locale role permission for HProject

commit 1c3a03bc8b71745c48cb226164727b1063142f75
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 6 12:58:35 2015 +1000

    Move button back to modal

commit 126dd7d0d9aa0d8e697de5eef5d2e49aac1f6c3d
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 6 12:55:20 2015 +1000

    WIP: moved modal code inline

commit 0de34987510f3b5628859317dfff9427d0f92397
Author: David Mason <drdmason at gmail.com>
Date:   Thu Aug 6 12:08:00 2015 +1000

    WIP: it is broken

commit 8bc83edc47a999257f1c28daeb14072bdd759c59
Merge: f7abb09 87113ae
Author: David Mason <drdmason at gmail.com>
Date:   Thu Jul 30 12:06:29 2015 +1000

    Merge remote-tracking branch 'origin/project-roles-ui' into project-roles-ui

    Conflicts:
    	zanata-war/src/main/java/org/zanata/action/ProjectHome.java
        Most of the new methods are moved from here to ProjectHomeAction,
        so I kept the deletion of them.

    	zanata-war/src/main/webapp/WEB-INF/layout/project/people-tab.xhtml
        Merge tools were having many problems with this, so I just used
        the remote one and will manually add the couple of things I care
        about.

commit f7abb097ac30d8282be71c8c95d7cc8be94ead18
Author: David Mason <drdmason at gmail.com>
Date:   Thu Jul 30 10:50:49 2015 +1000

    WIP: add save method for modal dialog

    Probably needs moving to ProjectHomeAction for scoping reasons.

commit 0cafdb1507b82070264a3564e4e2f8a80bf3e2c6
Author: David Mason <drdmason at gmail.com>
Date:   Thu Jul 30 10:49:53 2015 +1000

    feat: add onclick to ajax-command-button

commit 0a6060d304174e8f7367942b1fe0fb330087c2b2
Author: David Mason <drdmason at gmail.com>
Date:   Thu Jul 30 10:49:23 2015 +1000

    WIP: making submit work for person dialog.

commit 7888977e89d044f7bcf546498fe7c3c9ec2fade9
Author: David Mason <drdmason at gmail.com>
Date:   Thu Jul 30 10:47:11 2015 +1000

    WIP: allow setting of all a person's memberships in HProject

    This still has some logging that needs cleaning up.

commit 9ba89baabfe51f7418baa7a1b6b22dfc763e86a3
Author: David Mason <drdmason at gmail.com>
Date:   Tue Jul 28 20:50:49 2015 +1000

    WIP: now single button to open each modal

commit d800f62713e62ad2256117afaf456c44c26e77c0
Author: David Mason <drdmason at gmail.com>
Date:   Tue Jul 28 20:23:42 2015 +1000

    WIP: show locales in person-permissions-modal

commit b504a0eb1a8d5ce4fa0ee1be88d9e0566791ccad
Author: David Mason <drdmason at gmail.com>
Date:   Tue Jul 28 20:12:11 2015 +1000

    use standard person tile in people page

    Made this a separate commit because it will probably conflict with some other
    changes, so easier to keep it separate from other files that are less likely
    to conflict.

commit e8f6a41249153c568f5182fdf11b1d275eba451f
Author: David Mason <drdmason at gmail.com>
Date:   Tue Jul 28 20:10:48 2015 +1000

    FIXUP PersonProjectMemberships.java

commit ce2dc54a3d72b665b07eea3d9e646ac11795c341
Author: David Mason <drdmason at gmail.com>
Date:   Tue Jul 28 20:07:02 2015 +1000

    refactor(HLocale): add note to change method names to be more standard.

    There are a bunch of methods named `retrieve...` rather than `get...`,
    which means they don't work with normal property syntax. There are normal
    getters, but they may return nothing because the fields are populated only
    in the `retireve` methods.
    This needs a bit of thought and attention to make it sensible so it does
    not waste developer time.

commit 777293aeda1a1524d60a62f2aaf8ec609bd5328b
Author: David Mason <drdmason at gmail.com>
Date:   Tue Jul 28 19:58:41 2015 +1000

    feat(person-tile): add standard person tile

    Simple composite component with a gravatar image and username that link
    to a given person's profile page.

commit 87113ae6e8ee4e62b4d974a86f46f34fe6d6a279
Author: Alex Eng <aeng at redhat.com>
Date:   Fri Jul 24 14:09:23 2015 +1000

    Implement people list sorting and filtering

commit 3b8d240672e8441af3017f24376fbb9ea35505cd
Author: Alex Eng <aeng at redhat.com>
Date:   Thu Jul 23 16:52:51 2015 +1000

    WIP: add sorting

commit d726ec332effc0eb534f93933eecbecf436f2a18
Author: David Mason <drdmason at gmail.com>
Date:   Thu Jul 23 16:16:48 2015 +1000

    WIP: modal dialog sets person properly.

     - need to hook up the rest of the parts (checkboxes etc.
     - need to get buttons combined into one
  Can use zanata.modal.show(selector) to show the dialog.
  Probably want it oncomplete so that it refreshes before showing,
  or maybe nest the ajax section inside the modal if it is possible
  for that to work well with the id. If so, the modal would need to
  be in loading state until the new data comes through.

commit b6ea9ab58b55b4926f558ea3a17230fee5159175
Author: Alex Eng <aeng at redhat.com>
Date:   Tue Jul 21 14:22:34 2015 +1000

    Add search and sorting for people's tab

commit e74837fe5f94805a4c32dce0c41b6c0e29f41e45
Author: David Mason <drdmason at gmail.com>
Date:   Sun Jul 19 22:07:55 2015 +1000

    WIP: person membership modal

commit 50a7951c567095256ff1c297555dd2c263e6267d
Author: David Mason <drdmason at gmail.com>
Date:   Sun Jul 19 22:06:57 2015 +1000

    WIP: backing class for project membership modal

commit 35729409ae9fbd26ac94e641e39f7d93e9cda159
Author: David Mason <drdmason at gmail.com>
Date:   Sun Jul 19 20:53:10 2015 +1000

    feat(project-translation-teams): change project maintainer tab to people tab

commit a352ed0214de8031430163ebc1613a78a8af9791
Author: David Mason <drdmason at gmail.com>
Date:   Sun Jul 19 21:33:47 2015 +1000

    feat(project-translation-teams): add permissions for project locale team members

    Allows project translators, reviewers and translation maintainers to perform their
    assigned roles in the project.

commit 7d65fba35f97906e6fe7d069335a0eca93a5981e
Author: David Mason <drdmason at gmail.com>
Date:   Sun Jul 19 19:47:24 2015 +1000

    feat(project-translation-teams): add localeMembers to HProject

    Adds database table HProject_LocaleMember that maps to HProjectLocaleMember,
    containing a LocaleRole.

commit fe5c90f4969d05b598ce87314c68061413c1ebb6
Author: David Mason <drdmason at gmail.com>
Date:   Mon Jul 13 14:08:56 2015 +1000

    refactor(jsf): match doctype to root element in project.xhtml

    A warning was generated by the IDE because the root element and doctype did not
    match. We have a mix of doctype "html" and "composition" for <ui:composition>
    templates and they seem to work with either, so it seems sensible to make them
    consistent by changing them all to the one that does not generate a warning.

commit 835d464ecb3bd6b345e5a9e5b8a3aa6efa446846
Author: David Mason <drdmason at gmail.com>
Date:   Mon Jul 13 14:00:12 2015 +1000

    refactor(jsf): use absolute path for includes and templates

    This is more maintainable since the paths will now stay valid even if the
    file that uses the templates and includes moves to a different location.
    This frees us up to organize our JSF templates with less chance of breakages.

commit c2d64f6d8434c95ecb530ed8260c73746ea13d74
Author: David Mason <drdmason at gmail.com>
Date:   Thu Jul 9 09:15:53 2015 +1000

    feat(project-translation-teams): use HProject_Member to record maintainer status

    Removes the old HProject_Maintainers table, since HProject_Member now records maintainer status.
    Permission checks are changed to use HQL queries in the new ProjectMemberDAO both because:
     - it is more efficient: executes a single query rather than loading an entire collection
     - it avoids issues trying to filter a lazy collection that has already been detached

commit ed5a770bbf189458ee8ccfe1f67928f34c974ec4
Author: David Mason <drdmason at gmail.com>
Date:   Thu Jul 2 12:08:29 2015 +1000

    feat(project-translation-teams): add HProject_Member table with data from HProject_Maintainer

    Copy data from HProject_Maintainer table but do not delete it yet.
    HProject_Maintainer should be removed once all code is migrated to use the new table.

commit 87f0ed914efee043a7ec47e3effa716b079baf63
Author: David Mason <drdmason at gmail.com>
Date:   Wed Jul 1 17:10:22 2015 +1000

    feat(project-translation-teams): prevent global translation for projects that do not allow it

    Never grant translation access based on membership in global translation teams when the project
    does not allow global translation access. At this point only maintainers and admins can translate
    when global translation is not allowed. When other members can be added to the project team they
    will have additional security rules to grant access.

commit 36937ad2a98b6f7a6f62824550e15f8f2ce0127a
Author: David Mason <drdmason at gmail.com>
Date:   Wed Jul 1 15:14:11 2015 +1000

    feat(project-translation-teams): add invite-only toggle to project translation settings

commit 3b136e21eba7d87663213c72dfb849bbe09aee9b
Author: David Mason <drdmason at gmail.com>
Date:   Tue Jun 30 14:03:34 2015 +1000

    feat(project-translation-teams): add allowGlobalTranslation field to HProject

    Prepare for "Invite only" toggle in project settings.




More information about the zanata-commits mailing list