RSM-6 Team features

This commit is contained in:
2020-10-03 21:36:35 +01:00
parent 7c0c244e21
commit 75f4404259
26 changed files with 24416 additions and 23165 deletions

View File

@@ -0,0 +1,105 @@
@extends('adminlte::page')
@section('title', config('app.name') . ' | ' . __('messages.teams.m_teams_page'))
@section('content_header')
<h1>{{config('app.name')}} / {{__('messages.teams.m_teams_page')}}</h1>
@stop
@section('js')
<x-global-errors></x-global-errors>
@stop
@section('content')
@if($team->openJoin == false)
<x-modal id="addUserModal" modal-label="addUserModalLabel" modal-title="Invite User" include-close-button="true">
<form id="inviteToTeam" method="POST" action="{{ route('sendInvite', ['team' => $team->id]) }}">
@csrf
<div class="form-group">
<select class="custom-select" name="user">
<option disabled selected>Choose a user to invite</option>
@foreach ($users as $user)
<option value="{{ $user->id }}" {{ ($user->id == Auth::user()->id) ? 'disabled' : '' }}>{{ $user->name }}</option>
@endforeach
</select>
<span class="text-sm text-muted"><i class="fas fa-info-circle"></i> This user will receive an email notification asking them to join your team.</span>
</div>
</form>
<x-slot name="modalFooter">
<button type="button" class="btn btn-success" onclick="$('#inviteToTeam').submit()"><i class="fas fa-paper-plane"></i> Send invite</button>
</x-slot>
</x-modal>
@endif
<div class="row">
<div class="col text-center">
<img src="/img/editable.svg" alt="Edit illustration" height="220px" width="220px">
</div>
</div>
<div class="row">
<div class="col">
<div class="card">
<div class="card-header">
<h4 class="card-title">Edit Team</h4>
</div>
<div class="card-body">
<form id="editTeam" method="POST" action="{{ route('teams.update', ['team' => $team->id]) }}">
@csrf
@method('PATCH')
<div class="form-group">
<label for="teamName">Team name</label>
<input type="text" class="form-control" id="teamName" value="{{ $team->name }}" disabled>
<label for="teamDescription">Team description</label>
<textarea class="form-control" rows="4" name="teamDescription" id="teamDescription">{{ $team->description }}</textarea>
<span class="text-left text-muted text-sm"><a href="https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet"><i class="fab fa-markdown"></i></a> Markdown supported</span>
<div class="controlbuttons mt-3">
<span rel="spanTxtTooltip" data-toggle="tooltip" title="This setting controls whether people can join the team freely." data-placement="top">
<input type="hidden" name="joinType" value="0"> <!-- unchecked checkbox hack (no js) -->
<input value="0" type="checkbox" {{ ($team->openJoin == 1) ? 'checked' : '' }} name="joinType" id="jointype" data-toggle="toggle" data-on="Public Team" data-off="Private" data-onstyle="success" data-offstyle="danger" data-width="100">
</span>
<button onclick="$('#addUserModal').modal('show')" type="button" id="inviteUser" name="inviteUser" class="btn btn-success" {{ ($team->openJoin) ? 'disabled' : '' }}><i class="fas fa-user-plus"></i> Invite user</button>
</div>
</div>
</form>
</div>
<div class="card-footer">
<button type="button" class="btn btn-success" onclick="$('#editTeam').submit()"><i class="fas fa-save"></i> Save and Close</button>
<button type="button" class="btn btn-danger" onclick="location.href='{{ route('teams.index') }}'"><i class="far fa-trash-alt"></i> Cancel</button>
</div>
</div>
</div>
</div>
@stop

View File

@@ -6,8 +6,132 @@
<h1>{{config('app.name')}} / {{__('messages.teams.m_teams_page')}}</h1>
@stop
@section('js')
<x-global-errors></x-global-errors>
@endsection
@section('content')
<x-modal id="newTeamModal" modal-label="newTeamModalLabel" modal-title="New team" include-close-button="true">
<div class="row">
<div class="col offset-3">
<img src="/img/new_team.svg" height="220px" width="220px" alt="New Team illustration">
</div>
</div>
<form action="{{ route('teams.store') }}" method="POST" id="newTeamForm">
@csrf
<div class="text-center">
<input type="text" id="teamName" class="form-control" required name="teamName">
</div>
<p class="text-muted text-sm">This is the name team members will see.</p>
</form>
<x-slot name="modalFooter">
<button type="button" class="btn btn-success" onclick="$('#newTeamForm').submit()"><i class="fas fa-check"></i> Create</button>
</x-slot>
</x-modal>
<div class="row">
<div class="col-md-4 offset-4 text-center">
<img src="/img/team.svg" height="230px" width="230px" alt="Team illustration">
</div>
</div>
<div class="row">
<div class="col">
<div class="card bg-gray-dark">
<div class="card-header bg-indigo">
<div class="card-title"><h4>{{ __('messages.teams.m_teams_page') }}</h4></div>
</div>
<div class="card-body">
@if (!$teams->isEmpty())
<table class="table-borderless table-active table">
<thead>
<tr>
<th>#</th>
<th>Team Owner</th>
<th>Team Name</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
@foreach ($teams as $team)
<tr>
<td>{{ $team->id }}</td>
<td>{{ $team->owner_id }}</td>
<td>{{ $team->name }}</td>
<td>
<button type="button" class="btn btn-success btn-sm ml-2" onclick="location.href='{{ route('teams.edit', ['team' => $team->id]) }}'"><i class="fas fa-cogs"></i> Settings</button>
<button type="button" class="btn btn-warning btn-sm ml-2"><i class="fas fas fa-long-arrow-alt-right"></i> Team Dashboard</button>
</td>
</tr>
@endforeach
</tbody>
</table>
@else
<div class="alert alert-warning">
<i class="fas fa-exclamation-triangle"></i> <b> There don't seem to be any teams here</b>
<p>Have you tried creating or joining a team? You may also click an invite link if you've been invited.</p>
</div>
@endif
</div>
<div class="card-footer">
<button type="button" class="btn btn-success btn-sm ml-3" onclick="$('#newTeamModal').modal('show')"><i class="fas fa-plus-circle"></i> New team</button>
</div>
</div>
</div>
</div>
@stop