diff --git a/.gitignore b/.gitignore index afb3061..d1da2ff 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ /.idea/ /.db/ /logs/ -/temp/ \ No newline at end of file +/temp/ +/vendor/ \ No newline at end of file diff --git a/1-deployBetaProBuddy.sh b/1-deployBetaProBuddy.sh index 89cf04f..d1f48a9 100644 --- a/1-deployBetaProBuddy.sh +++ b/1-deployBetaProBuddy.sh @@ -7,6 +7,12 @@ sudo git pull echo "$(tput setab 2)beta-pro-buddy has been PULLED$(tput sgr 0)" +rm -rf /var/www/vhosts/spawntree.de/probuddy.spawntree.de/httpdocs/composer.lock +cp -rf /var/www/vhosts/spawntree.de/probuddy.spawntree.de/git_repositories/beta-probuddy/composer.lock /var/www/vhosts/spawntree.de/probuddy.spawntree.de/httpdocs/ + +rm -rf /var/www/vhosts/spawntree.de/probuddy.spawntree.de/httpdocs/composer.json +cp -rf /var/www/vhosts/spawntree.de/probuddy.spawntree.de/git_repositories/beta-probuddy/composer.json /var/www/vhosts/spawntree.de/probuddy.spawntree.de/httpdocs/ + rm -rf /var/www/vhosts/spawntree.de/probuddy.spawntree.de/httpdocs/src/app cp -rf /var/www/vhosts/spawntree.de/probuddy.spawntree.de/git_repositories/beta-probuddy/src/app /var/www/vhosts/spawntree.de/probuddy.spawntree.de/httpdocs/src @@ -57,6 +63,9 @@ cp -rf /var/www/vhosts/spawntree.de/probuddy.spawntree.de/git_repositories/beta- echo "$(tput setab 2)Files have been copied$(tput sgr 0)" +composer update + +echo "$(tput setab 3)COMPOSER UPDATED updated$(tput sgr 0)" cd /var/www/vhosts/spawntree.de/probuddy.spawntree.de/httpdocs/ sudo chmod 777 -R * diff --git a/1-deployLiveProBuddy.sh b/1-deployLiveProBuddy.sh index dc4cdf5..9843311 100644 --- a/1-deployLiveProBuddy.sh +++ b/1-deployLiveProBuddy.sh @@ -5,6 +5,15 @@ git pull echo "$(tput setab 2)pro-buddy has been PULLED$(tput sgr 0)" +rm -rf /www/htdocs/v034011/projects/probuddy/composer.lock +cp -rf /www/htdocs/v034011/projects/probuddy/git_repository/probuddy-master/composer.lock /www/htdocs/v034011/projects/probuddy + +rm -rf /www/htdocs/v034011/projects/probuddy/composer.json +cp -rf /www/htdocs/v034011/projects/probuddy/git_repository/probuddy-master/composer.json /www/htdocs/v034011/projects/probuddy + +rm -rf /www/htdocs/v034011/projects/probuddy/client +cp -rf /www/htdocs/v034011/projects/probuddy/git_repository/probuddy-master/src/client /www/htdocs/v034011/projects/probuddy + rm -rf /www/htdocs/v034011/projects/probuddy/client cp -rf /www/htdocs/v034011/projects/probuddy/git_repository/probuddy-master/src/client /www/htdocs/v034011/projects/probuddy @@ -49,6 +58,9 @@ cp -rf /www/htdocs/v034011/projects/probuddy/git_repository/probuddy-master/src/ echo "$(tput setab 2)Files have been copied$(tput sgr 0)" +composer update + +echo "$(tput setab 3)COMPOSER UPDATED updated$(tput sgr 0)" echo "$(tput setab 7)$(tput setaf 1)THINK ABOUT POSSIBLE PATCHES!" diff --git a/composer.json b/composer.json index 4aced6d..65063ba 100644 --- a/composer.json +++ b/composer.json @@ -1,5 +1,5 @@ { "require": { - "ramsey/uuid": "^4.7" + "ramsey/uuid": "^4.2" } } diff --git a/composer.lock b/composer.lock index 70e321a..cd11aac 100644 --- a/composer.lock +++ b/composer.lock @@ -4,29 +4,30 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "311c7a785a2af4ab4dae0f24542d289d", + "content-hash": "9be62a1bda3de8a20037b1c6b1646793", "packages": [ { "name": "brick/math", - "version": "0.12.1", + "version": "0.9.3", "source": { "type": "git", "url": "https://github.com/brick/math.git", - "reference": "f510c0a40911935b77b86859eb5223d58d660df1" + "reference": "ca57d18f028f84f777b2168cd1911b0dee2343ae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/brick/math/zipball/f510c0a40911935b77b86859eb5223d58d660df1", - "reference": "f510c0a40911935b77b86859eb5223d58d660df1", + "url": "https://api.github.com/repos/brick/math/zipball/ca57d18f028f84f777b2168cd1911b0dee2343ae", + "reference": "ca57d18f028f84f777b2168cd1911b0dee2343ae", "shasum": "" }, "require": { - "php": "^8.1" + "ext-json": "*", + "php": "^7.1 || ^8.0" }, "require-dev": { "php-coveralls/php-coveralls": "^2.2", - "phpunit/phpunit": "^10.1", - "vimeo/psalm": "5.16.0" + "phpunit/phpunit": "^7.5.15 || ^8.5 || ^9.0", + "vimeo/psalm": "4.9.2" }, "type": "library", "autoload": { @@ -46,42 +47,42 @@ "arithmetic", "bigdecimal", "bignum", - "bignumber", "brick", - "decimal", - "integer", - "math", - "mathematics", - "rational" + "math" ], "support": { "issues": "https://github.com/brick/math/issues", - "source": "https://github.com/brick/math/tree/0.12.1" + "source": "https://github.com/brick/math/tree/0.9.3" }, "funding": [ { "url": "https://github.com/BenMorel", "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/brick/math", + "type": "tidelift" } ], - "time": "2023-11-29T23:19:16+00:00" + "time": "2021-08-15T20:50:18+00:00" }, { "name": "ramsey/collection", - "version": "2.0.0", + "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/ramsey/collection.git", - "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5" + "reference": "ad7475d1c9e70b190ecffc58f2d989416af339b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/collection/zipball/a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", - "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", + "url": "https://api.github.com/repos/ramsey/collection/zipball/ad7475d1c9e70b190ecffc58f2d989416af339b4", + "reference": "ad7475d1c9e70b190ecffc58f2d989416af339b4", "shasum": "" }, "require": { - "php": "^8.1" + "php": "^7.4 || ^8.0", + "symfony/polyfill-php81": "^1.23" }, "require-dev": { "captainhook/plugin-composer": "^5.3", @@ -141,7 +142,7 @@ ], "support": { "issues": "https://github.com/ramsey/collection/issues", - "source": "https://github.com/ramsey/collection/tree/2.0.0" + "source": "https://github.com/ramsey/collection/tree/1.3.0" }, "funding": [ { @@ -153,27 +154,29 @@ "type": "tidelift" } ], - "time": "2022-12-31T21:50:55+00:00" + "time": "2022-12-27T19:12:24+00:00" }, { "name": "ramsey/uuid", - "version": "4.7.6", + "version": "4.2.3", "source": { "type": "git", "url": "https://github.com/ramsey/uuid.git", - "reference": "91039bc1faa45ba123c4328958e620d382ec7088" + "reference": "fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/91039bc1faa45ba123c4328958e620d382ec7088", - "reference": "91039bc1faa45ba123c4328958e620d382ec7088", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df", + "reference": "fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df", "shasum": "" }, "require": { - "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12", + "brick/math": "^0.8 || ^0.9", "ext-json": "*", - "php": "^8.0", - "ramsey/collection": "^1.2 || ^2.0" + "php": "^7.2 || ^8.0", + "ramsey/collection": "^1.0", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-php80": "^1.14" }, "replace": { "rhumsaa/uuid": "self.version" @@ -185,23 +188,24 @@ "doctrine/annotations": "^1.8", "ergebnis/composer-normalize": "^2.15", "mockery/mockery": "^1.3", + "moontoast/math": "^1.1", "paragonie/random-lib": "^2", "php-mock/php-mock": "^2.2", "php-mock/php-mock-mockery": "^1.3", "php-parallel-lint/php-parallel-lint": "^1.1", "phpbench/phpbench": "^1.0", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan": "^1.8", - "phpstan/phpstan-mockery": "^1.1", - "phpstan/phpstan-phpunit": "^1.1", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-mockery": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", "phpunit/phpunit": "^8.5 || ^9", - "ramsey/composer-repl": "^1.4", - "slevomat/coding-standard": "^8.4", + "slevomat/coding-standard": "^7.0", "squizlabs/php_codesniffer": "^3.5", "vimeo/psalm": "^4.9" }, "suggest": { "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", + "ext-ctype": "Enables faster processing of character classification using ctype functions.", "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", @@ -209,6 +213,9 @@ }, "type": "library", "extra": { + "branch-alias": { + "dev-main": "4.x-dev" + }, "captainhook": { "force-install": true } @@ -233,7 +240,7 @@ ], "support": { "issues": "https://github.com/ramsey/uuid/issues", - "source": "https://github.com/ramsey/uuid/tree/4.7.6" + "source": "https://github.com/ramsey/uuid/tree/4.2.3" }, "funding": [ { @@ -245,7 +252,242 @@ "type": "tidelift" } ], - "time": "2024-04-27T21:32:50+00:00" + "time": "2021-09-25T23:10:38+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.31.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "provide": { + "ext-ctype": "*" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.31.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.31.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", + "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-php81", + "version": "v1.31.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php81.git", + "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", + "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php81\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php81/tree/v1.31.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" } ], "packages-dev": [], diff --git a/src/client/app/js/app/core/Dict.js b/src/client/app/js/app/core/Dict.js index 4a2f4cd..bf75dee 100644 --- a/src/client/app/js/app/core/Dict.js +++ b/src/client/app/js/app/core/Dict.js @@ -433,7 +433,7 @@ app.core.Dict = { "LOGIN_FIRSTNAME" : "Vorname", "LOGIN_LASTNAME" : "Nachname", "DELETION_NOT_POSSIBLE_INFO_HEADLINE" : "Informationen zur Löschung deines Profils", - "DELETION_NOT_POSSIBLE_INFO" : "Du hast noch {0} Teilnahme(n) für zukünftige Termine. Bitte sage alle Teilnahmen ab, bevor Du Deinen Account löschen kannst.", + "DELETION_NOT_POSSIBLE_INFO" : "Du hast noch {0} Teilnahme(n) für zukünftige Termine, bei denen die Absagefrist noch nicht verstrichen ist. Bitte sage alle Teilnahmen ab, bevor Du Deinen Account löschen kannst.", "DELETION_GROUP_OWNER_INFO_HEADLINE" : "Informationen zur Löschung deines Profils", "DELETION_GROUP_OWNER_INFO" : "Bitte schreibe eine Mail an support@probuddy.de um die Löschung deines Profile bei Probuddy zu veranlassen. Da du Gruppeninhaber mindestens einer Gruppe bei ProBuddy bist, wird diese Gruppe/Gruppen automatisch mitgelöscht.", "BTN_BACK" : "Zurück", @@ -574,6 +574,7 @@ app.core.Dict = { "GROUP_MANAGEMENT_MEMBERS_ACTIVE" : "Aktiv", "GROUP_MANAGEMENT_MEMBERS_INACTIVE" : "Inaktiv", "GROUP_MANAGEMENT_MEMBERS_NOT_APPROVED" : "Unbestätigt", + "GROUP_MANAGEMENT_MEMBERS_DELETED" : "Gelöscht", "GROUP_MANAGEMENT_MEMBERS_CHANGE_STATUS" : "Gruppenstatus ändern", "GROUP_MANAGEMENT_MEMBERS_CHANGE_STATUS_INFO" : "Du kannst deinen eigenen Gruppenstatus nicht verändern.", "BTN_GROUP_MANAGEMENT_MEMBERS_SAVE_STATUS" : "Status speichern", diff --git a/src/client/app/js/app/model/Profile.js b/src/client/app/js/app/model/Profile.js index b661815..8311827 100644 --- a/src/client/app/js/app/model/Profile.js +++ b/src/client/app/js/app/model/Profile.js @@ -223,6 +223,11 @@ app.model.Profile = function( data, groupsData ) teamData = gd; }; + this.getGroupStatus = function( groupId ) + { + return this.getGroupData(groupId).status; + } + this.isOwn = function() { return ( this.getId() == app.model.SessionUser.getUserProfile().getId() ); diff --git a/src/client/app/js/app/state/GroupMemberManagement.js b/src/client/app/js/app/state/GroupMemberManagement.js index b0128a1..05c3e6f 100644 --- a/src/client/app/js/app/state/GroupMemberManagement.js +++ b/src/client/app/js/app/state/GroupMemberManagement.js @@ -19,6 +19,7 @@ app.state.GroupMemberManagement = function() membersActive = [], membersInactive = [], membersNotApproved = [], + membersDeleted = [], groupId = p.groupId, memberId = p.hasOwnProperty( 'memberId' ) ? p.memberId : null, activeTab = 'active'; @@ -66,6 +67,10 @@ app.state.GroupMemberManagement = function() case 'not_approved': membersNotApproved.push(member); break; + case 'deleted': + membersDeleted.push(member); + console.log(member.isAccessible()) + break; } } @@ -77,6 +82,7 @@ app.state.GroupMemberManagement = function() membersActive: membersActive, membersInactive: membersInactive, membersNotApproved: membersNotApproved, + membersDeleted: membersDeleted, group : group, groups : app.model.SessionUser.getAdminGroups(), currentProfile : currentProfile, diff --git a/src/client/app/js/app/state/GroupMemberManagementMember.js b/src/client/app/js/app/state/GroupMemberManagementMember.js index abc130e..459a743 100644 --- a/src/client/app/js/app/state/GroupMemberManagementMember.js +++ b/src/client/app/js/app/state/GroupMemberManagementMember.js @@ -11,7 +11,6 @@ app.state.GroupMemberManagementMember = function() state.onEnter = function( p ) { - console.log(p); let $content = app.core.View.getContent(), fnRenderMemberForm = null, fnGetMemberById = null, @@ -27,6 +26,11 @@ app.state.GroupMemberManagementMember = function() fnRenderMemberForm = function( profile ) { + let status = ''; + if (profile) { + status = profile.getGroupData(groupId).status; + } + $memberContainer = $content.find( '[data-id="member-container"]' ).first(); $memberContainer.html( app.core.View.getTemplate( @@ -34,6 +38,7 @@ app.state.GroupMemberManagementMember = function() { p : profile, g : group, + status: status } ) ); diff --git a/src/client/app/tmpl/group-member-management-member-body.html b/src/client/app/tmpl/group-member-management-member-body.html index 4b3f798..d3b2eea 100644 --- a/src/client/app/tmpl/group-member-management-member-body.html +++ b/src/client/app/tmpl/group-member-management-member-body.html @@ -1,289 +1,288 @@ <% if ( p ) { %> -<% var currentUser = app.model.SessionUser.getUserProfile(); %> -
-
- -
-
-
-
-
- <%=raw p.getName() %> -
- <% if ( p.isInGroupCategory( 'DOGSCHOOL' ) ) { %> -
- <%= _lc( 'PROFILE_DOGNAME' ) %> -
-
- <%= p.getCustomGroupProperty( 'DOGSCHOOL', 'dogname' ) ? p.getCustomGroupProperty( 'DOGSCHOOL', 'dogname' ) : '---' %> -
- <% } %> -
- <%= _lc( 'PROFILE_STATUS' ) %> -
-
- <%= p.getStatus() %> + <% var currentUser = app.model.SessionUser.getUserProfile(); %> +
+
+
-
- <%= _lc( 'ADDRESS' ) %> -
-
- <%= p.getStreet() ? p.getStreet() : '---' %>
- - <%= p.getZipCode() ? p.getZipCode() : '' %> <%= p.getCity() ? p.getCity() : '' %> -
-
- <%= _lc( 'PHONE' ) %> -
-
- <% if ( p.getMobile() ) { %> - <%= p.getMobile() %> - <% } else { %> - --- - <% } %> -
- <% if ( p.getPhone() ) { %> - <%= p.getPhone() %> - <% } else { %> - --- +
+
+
+
+ <%=raw p.getName() %> +
+ <% if ( p.isInGroupCategory( 'DOGSCHOOL' ) ) { %> +
+ <%= _lc( 'PROFILE_DOGNAME' ) %> +
+
+ <%= p.getCustomGroupProperty( 'DOGSCHOOL', 'dogname' ) ? p.getCustomGroupProperty( 'DOGSCHOOL', 'dogname' ) : '---' %> +
<% } %> -
-
- <%= _lc( 'EMAIL' ) %> -
-
- <% if ( p.getEmail() ) { %> - <%= p.getEmail() %> - <% if ( p.getEmailValidated() === true ) { %> -
( <%= _lc( 'GROUP_MANAGEMENT_MEMBERS_EMAIL_VALIDATED' ) %> )
+
+ <%= _lc( 'PROFILE_STATUS' ) %> +
+
+ <%= p.getStatus() %> +
+
+ <%= _lc( 'ADDRESS' ) %> +
+
+ <%= p.getStreet() ? p.getStreet() : '---' %>
+ + <%= p.getZipCode() ? p.getZipCode() : '' %> <%= p.getCity() ? p.getCity() : '' %> +
+
+ <%= _lc( 'PHONE' ) %> +
+
+ <% if ( p.getMobile() ) { %> + <%= p.getMobile() %> + <% } else { %> + --- + <% } %> +
+ <% if ( p.getPhone() ) { %> + <%= p.getPhone() %> + <% } else { %> + --- + <% } %> +
+
+ <%= _lc( 'EMAIL' ) %> +
+
+ <% if ( p.getEmail() ) { %> + <%= p.getEmail() %> + <% if ( p.getEmailValidated() === true ) { %> +
( <%= _lc( 'GROUP_MANAGEMENT_MEMBERS_EMAIL_VALIDATED' ) %> )
+ <% } else { %> +
( <%= _lc( 'GROUP_MANAGEMENT_MEMBERS_EMAIL_NOT_VALIDATED' ) %> )
+ <% } %> <% } else { %> -
( <%= _lc( 'GROUP_MANAGEMENT_MEMBERS_EMAIL_NOT_VALIDATED' ) %> )
+ --- <% } %> - <% } else { %> - --- - <% } %> -
-
- <%= _lc( 'BIRTHDAY' ) %> -
-
- <%= ( null != p.getMomentBirthday() ) ? p.getMomentBirthday().format( 'DD.MM.YYYY' ) : '---' %> -
-
- <%= _lc( 'JOIN_DT' ) %> -
-
- <% var momentJoin = p.getMomentJoinInGroup( g.getId() ); %> - <%= ( null != momentJoin ) ? momentJoin.format( 'DD.MM.YYYY' ) : '---' %> +
+
+ <%= _lc( 'BIRTHDAY' ) %> +
+
+ <%= ( null != p.getMomentBirthday() ) ? p.getMomentBirthday().format( 'DD.MM.YYYY' ) : '---' %> +
+
+ <%= _lc( 'JOIN_DT' ) %> +
+
+ <% var momentJoin = p.getMomentJoinInGroup( g.getId() ); %> + <%= ( null != momentJoin ) ? momentJoin.format( 'DD.MM.YYYY' ) : '---' %> +
-
-
-
-
- <%= _lc( 'CHANGE_ROLE' ) %> -
-
-
-
- -
-
- -
- <% if ( 'trainer' === p.getRoleInGroup( g.getId() ) ) { %> -
- <%= _lc( 'CANNOT_CHANGE_GROUP_OWNER_ROLE_INFO' ) %> -
- <% } %> -
-
-
-
- <%= _lc( 'GROUP_MANAGEMENT_MEMBERS_CHANGE_STATUS' ) %> -
-
-
-
- -
-
- -
- <% if ( p.getId() === currentUser.getId() ) { %> -
- <%= _lc( 'GROUP_MANAGEMENT_MEMBERS_CHANGE_STATUS_INFO' ) %> -
- <% } %> -
-
-
-
- <%= _lc( 'ASSIGNED_MEMBER_GROUP_CATEGORIES' ) %> -
-
-
-
- <% var cgs = g.getCourseCategoriesForProfile( p ); %> - <% for ( var cgsi = 0; cgsi < cgs.length; cgsi++ ) { %> - <% if ( cgsi > 0 ) { %> - <%= ' ' %> - <% } %> - <%= cgs[ cgsi ].name %> +
+ <% if ( status !== 'deleted' ) { %> +
+
+ <%= _lc( 'CHANGE_ROLE' ) %> +
+
+
+
+ +
+
+ +
+ <% if ( 'trainer' === p.getRoleInGroup( g.getId() ) ) { %> +
+ <%= _lc( 'CANNOT_CHANGE_GROUP_OWNER_ROLE_INFO' ) %> +
+ <% } %> +
+
+
+
+ <%= _lc( 'GROUP_MANAGEMENT_MEMBERS_CHANGE_STATUS' ) %> +
+
+
+
+ +
+
+ +
+ <% if ( p.getId() === currentUser.getId() ) { %> +
+ <%= _lc( 'GROUP_MANAGEMENT_MEMBERS_CHANGE_STATUS_INFO' ) %> +
+ <% } %> +
+
+
+
+ <%= _lc( 'ASSIGNED_MEMBER_GROUP_CATEGORIES' ) %> +
+
+
+
+ <% var cgs = g.getCourseCategoriesForProfile( p ); %> + <% for ( var cgsi = 0; cgsi < cgs.length; cgsi++ ) { %> + <% if ( cgsi > 0 ) { %> + <%= ' ' %> + <% } %> + <%= cgs[ cgsi ].name %> + <% } %> +
+
+ <%= _lc( 'ASSIGNED_MEMBER_CATEOGORY_INFO' ) %> +
+ +
+
+
+
+ <%= _lc( 'MEMBER_CONTRACT' ) %> +
+
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+
+
+
+
+ <%= _lc( 'APPOINTMENT_LOG' ) %> +
+
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+
+
+
+ +
+
+
+
+
+ <%= _lc( 'ADMIN_NOTES' ) %> - <%= _lc( 'ADMIN_NOTES_INFO' ) %> +
+
+
+
+ +
+
+
+
+ +
+
<% } %> -
-
- <%= _lc( 'ASSIGNED_MEMBER_CATEOGORY_INFO' ) %> -
- -
-
-
-
- <%= _lc( 'MEMBER_CONTRACT' ) %> -
-
-
-
-
- - -
-
-
-
- - -
-
-
- -
-
-
-
-
- <%= _lc( 'APPOINTMENT_LOG' ) %> -
-
-
-
-
- - -
-
-
-
- - -
-
-
- -
-
-
-
- -
-
-
-
-
- <%= _lc( 'ADMIN_NOTES' ) %> - <%= _lc( 'ADMIN_NOTES_INFO' ) %> -
-
-
-
- -
-
-
-
- -
-
- <% } else { %> - -
-
- <%= _lc( 'SELECT_MEMBER_TO_EDIT' ) %> +
+
+ <%= _lc( 'SELECT_MEMBER_TO_EDIT' ) %> +
-
- <% } %> \ No newline at end of file diff --git a/src/client/app/tmpl/group-member-management.html b/src/client/app/tmpl/group-member-management.html index 4448256..63557dc 100644 --- a/src/client/app/tmpl/group-member-management.html +++ b/src/client/app/tmpl/group-member-management.html @@ -46,6 +46,12 @@ <%= _lc( 'GROUP_MANAGEMENT_MEMBERS_NOT_APPROVED' ) %> (<%= membersNotApproved.length %>) +
@@ -86,6 +92,18 @@
+
+
+ + + <% for ( var mi = 0; mi < membersDeleted.length; mi++ ) { %> + <%=raw app.core.View.getTemplate( 'group-member-management-row', { m : membersDeleted[ mi ], g : group } ) %> + <% } %> + +
+
+
+
diff --git a/src/client/manager/js/app/components/members/member-data-table.html b/src/client/manager/js/app/components/members/member-data-table.html index befac23..76a747e 100644 --- a/src/client/manager/js/app/components/members/member-data-table.html +++ b/src/client/manager/js/app/components/members/member-data-table.html @@ -9,6 +9,7 @@ Postleitzahl Stadt Telefon/Mobile + Status @@ -22,6 +23,7 @@ <%= members[ mi ].zip ? members[ mi ].zip : '' %> <%= members[ mi ].city ? members[ mi ].city : '' %> <%= members[ mi ].phone ? members[ mi ].phone : '---' %> / <%= members[ mi ].mobile ? members[ mi ].mobile : '---' %> + <%= members[ mi ].getGroupStatusText() %>