Procházet zdrojové kódy

group view changes

master
Daniel před 2 roky
rodič
revize
ffba232ad5
9 změnil soubory, kde provedl 40 přidání a 23 odebrání
  1. +1
    -0
      src/client/app/js/app/core/Dict.js
  2. +1
    -5
      src/client/app/js/app/state/GroupDetail.js
  3. +1
    -1
      src/client/app/js/app/state/GroupMemberManagement.js
  4. +2
    -6
      src/client/app/js/app/state/GroupMembers.js
  5. +2
    -2
      src/client/app/tmpl/group-detail.html
  6. +1
    -1
      src/client/app/tmpl/group-members.html
  7. +3
    -3
      src/client/app/tmpl/group-nav.html
  8. +21
    -2
      src/server/server/control/TB_Server_Control_Team.php
  9. +8
    -3
      src/server/shared/ent/teamdata/TB_Shared_Ent_TeamData_Profile.php

+ 1
- 0
src/client/app/js/app/core/Dict.js Zobrazit soubor

@@ -57,6 +57,7 @@ app.core.Dict = {
"GROUP_CONFIGURATION" : "Gruppeneinstellung",
"DETAILS" : "Details",
"MEMBERS" : "Mitglieder",
"ADMINS" : "Administratoren",
"INVITATION" : "Einladung",
"STATS" : "Statistik",
"TEAM_DETAIL_TEAMNAME_PLACEHOLDER" : "Bitte gib deinem Firmen-/Gruppennamen ein",


+ 1
- 5
src/client/app/js/app/state/GroupDetail.js Zobrazit soubor

@@ -67,10 +67,6 @@ app.state.GroupDetail = function()
{
member = new app.model.Profile( res.members[ mi ] );
members.push( member );
if ( member.getId() == app.model.SessionUser.getProfileId() )
{
currentProfile = member;
}
}
app.core.View.setContent(
@@ -79,7 +75,7 @@ app.state.GroupDetail = function()
{
members : members,
group : group,
currentProfile : currentProfile
currentProfile : app.model.SessionUser.getUserProfile()
} )
);


+ 1
- 1
src/client/app/js/app/state/GroupMemberManagement.js Zobrazit soubor

@@ -147,7 +147,7 @@ app.state.GroupMemberManagement = function()
app.core.Rpc.call(
'Team',
'getDetails',
{ teamId : groupId, includeEmails : true },
{ teamId : groupId, includeEmails : true, includeMembers: true },
function( res )
{


+ 2
- 6
src/client/app/js/app/state/GroupMembers.js Zobrazit soubor

@@ -19,7 +19,7 @@ app.state.GroupMembers = function()
app.core.Rpc.call(
'Team',
'getDetails',
{ teamId : groupId },
{ teamId : groupId, includeMembers: true, adminsOnly: true },
function( res )
{
@@ -32,10 +32,6 @@ app.state.GroupMembers = function()
{
member = new app.model.Profile( res.members[ mi ] );
members.push( member );
if ( member.getId() == app.model.SessionUser.getProfileId() )
{
currentProfile = member;
}
}
app.core.View.setContent(
@@ -44,7 +40,7 @@ app.state.GroupMembers = function()
{
members : members,
group : group,
currentProfile : currentProfile
currentProfile : app.model.SessionUser.getUserProfile()
} )
);


+ 2
- 2
src/client/app/tmpl/group-detail.html Zobrazit soubor

@@ -48,7 +48,7 @@
<div class="card-footer">
<div class="row">
<div class="col">
<% if ( currentProfile.isAdminOfGroup( group.getId() ) ) { %>
<% if ( null !== currentProfile && currentProfile.isAdminOfGroup( group.getId() ) ) { %>
<button type="button"
data-id="btn-edit-group"
class="btn btn-sm btn-primary">
@@ -60,7 +60,7 @@
<%= _lc( 'BTN_EDIT_GROUP_PHOTO' ) %>
</button>
<% } %>
<% if ( currentProfile.isOwnerOfGroup( group.getId() ) ) { %>
<% if ( null !== currentProfile && currentProfile.isOwnerOfGroup( group.getId() ) ) { %>
<button type="button"
data-id="btn-delete-group"
class="float-right btn btn-sm btn-danger">


+ 1
- 1
src/client/app/tmpl/group-members.html Zobrazit soubor

@@ -19,7 +19,7 @@
</div>
<div class="card-body">
<div class="group-members-header">
<i class="fas fa-users"></i> <%= _lc( 'MEMBERS' ) %> (<%= members.length %>)
<i class="fas fa-users"></i> <%= _lc( 'ADMINS' ) %> (<%= members.length %>)
</div>
<div class="group-members-content">
<div class="table-responsive">


+ 3
- 3
src/client/app/tmpl/group-nav.html Zobrazit soubor

@@ -9,10 +9,10 @@
<li class="nav-item">
<a class="nav-link <%= ( activeTab == 'members' ) ? 'active' : '' %>"
href="#/group/<%= group.getId() %>/members">
<%= _lc( 'MEMBERS' ) %>
<%= _lc( 'ADMINS' ) %>
</a>
</li>
<% if ( currentProfile.isAdminOfGroup( group.getId() ) ) { %>
<% if ( null !== currentProfile && currentProfile.isAdminOfGroup( group.getId() ) ) { %>
<li class="nav-item">
<a class="nav-link <%= ( activeTab == 'invite' ) ? 'active' : '' %>"
href="#/group/<%= group.getId() %>/invite">
@@ -20,7 +20,7 @@
</a>
</li>
<% } %>
<% if ( currentProfile.isAdminOfGroup( group.getId() ) ) { %>
<% if ( null !== currentProfile && currentProfile.isAdminOfGroup( group.getId() ) ) { %>
<li class="nav-item">
<a class="nav-link <%= ( activeTab == 'setting' ) ? 'active' : '' %>"
href="#/group/<%= group.getId() %>/setting">


+ 21
- 2
src/server/server/control/TB_Server_Control_Team.php Zobrazit soubor

@@ -81,6 +81,8 @@ class TB_Server_Control_Team {
$teamId = $params->get( 'teamId' );
$includeEmail = $params->get( 'includeEmails' );
$adminsOnly = $params->get( 'adminsOnly' );
$includeMembers = $params->get( 'includeMembers' );
$members = array();
$sessionProfile = TB_Server_Core_Session::get()->getProfile();
@@ -89,6 +91,10 @@ class TB_Server_Control_Team {
throw new \Exception( 'Cannot access team with id: ' . $teamId );
}
if ($includeMembers && !$adminsOnly && !$sessionProfile->isAdminOfTeam($teamId)) {
throw new \Exception( 'User is not admin of team with id: ' . $teamId );
}
$team = TB_Shared_Ent_TeamData_Team::get( $teamId );
if ( !($team instanceof TB_Shared_Ent_TeamData_Team ) )
@@ -97,10 +103,23 @@ class TB_Server_Control_Team {
return $resp;
}
$members = TB_Shared_Ent_TeamData_Profile::getProfilesByTeamId( $team->id );
$filteredMembers = [];
if ($includeMembers) {
$members = TB_Shared_Ent_TeamData_Profile::getProfilesByTeamId( $team->id );
/** @var TB_Shared_Ent_TeamData_Profile $member */
foreach ($members as $member) {
if ($adminsOnly) {
if ($member->isAdminOfTeam($teamId)) {
$filteredMembers[] = $member;
}
} else {
$filteredMembers[] = $member;
}
}
}
$resp->addData( 'team', $team );
$resp->addData( 'members', $members );
$resp->addData( 'members', $filteredMembers );
if ( $includeEmail )
{


+ 8
- 3
src/server/shared/ent/teamdata/TB_Shared_Ent_TeamData_Profile.php Zobrazit soubor

@@ -37,6 +37,10 @@ class TB_Shared_Ent_TeamData_Profile extends Francis_Db_Row {
const ROLE_COTRAINER = 'cotrainer';
const ROLE_PLAYER = 'player';
const STATUS_NOT_APPROVED = 'not_approved';
const STATUS_ACTIVE = 'active';
const STATUS_INACTIVE = 'inactive';
// Enums
const GENDER_MALE = 'male';
const GENDER_FEMALE = 'female';
@@ -436,12 +440,13 @@ class TB_Shared_Ent_TeamData_Profile extends Francis_Db_Row {
{
$teamsJson = array();
}
array_push( $teamsJson, array(
$teamsJson[] = array(
'team_id' => $teamId,
'role' => TB_Shared_Ent_TeamData_Profile::ROLE_PLAYER,
'is_anonymous' => 0,
'join_dt' => TB_Server_Utils_Helper::getUTCNowDateTime()
));
'join_dt' => TB_Server_Utils_Helper::getUTCNowDateTime(),
'status' => self::STATUS_NOT_APPROVED
);
$this->teams_js = $teamsJson;
}


Načítá se…
Zrušit
Uložit