Initial Spark Install
This commit is contained in:
63
spark/resources/views/settings/teams/create-team.blade.php
Normal file
63
spark/resources/views/settings/teams/create-team.blade.php
Normal file
@@ -0,0 +1,63 @@
|
||||
<spark-create-team inline-template>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Create {{ucfirst(Spark::teamString())}}</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<form class="form-horizontal" role="form" v-if="canCreateMoreTeams">
|
||||
<!-- Name -->
|
||||
<div class="form-group" :class="{'has-error': form.errors.has('name')}">
|
||||
<label class="col-md-4 control-label">{{ ucfirst(Spark::teamString()) }} Name</label>
|
||||
|
||||
<div class="col-md-6">
|
||||
<input type="text" id="create-team-name" class="form-control" name="name" v-model="form.name">
|
||||
|
||||
<span class="help-block" v-if="hasTeamLimit">
|
||||
You currently have @{{ remainingTeams }} {{ str_plural(Spark::teamString()) }} remaining.
|
||||
</span>
|
||||
|
||||
<span class="help-block" v-show="form.errors.has('name')">
|
||||
@{{ form.errors.get('name') }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if (Spark::teamsIdentifiedByPath())
|
||||
<!-- Slug (Only Shown When Using Paths For Teams) -->
|
||||
<div class="form-group" :class="{'has-error': form.errors.has('slug')}">
|
||||
<label class="col-md-4 control-label">{{ ucfirst(Spark::teamString()) }} Slug</label>
|
||||
|
||||
<div class="col-md-6">
|
||||
<input type="text" id="create-team-slug" class="form-control" name="slug" v-model="form.slug">
|
||||
|
||||
<p class="help-block" v-show=" ! form.errors.has('slug')">
|
||||
This slug is used to identify your team in URLs.
|
||||
</p>
|
||||
|
||||
<span class="help-block" v-show="form.errors.has('slug')">
|
||||
@{{ form.errors.get('slug') }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<!-- Create Button -->
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-4 col-md-6">
|
||||
<button type="submit" class="btn btn-primary"
|
||||
@click.prevent="create"
|
||||
:disabled="form.busy">
|
||||
|
||||
Create
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div v-else>
|
||||
<span class="text-danger">
|
||||
Your current plan doesn't allow you to create more teams, please <a href="{{ url('/settings#/subscription') }}">upgrade your subscription</a>.
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</spark-create-team>
|
138
spark/resources/views/settings/teams/current-teams.blade.php
Normal file
138
spark/resources/views/settings/teams/current-teams.blade.php
Normal file
@@ -0,0 +1,138 @@
|
||||
<spark-current-teams :user="user" :teams="teams" inline-template>
|
||||
<div>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Current {{ ucfirst(str_plural(Spark::teamString())) }}</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<table class="table table-borderless m-b-none">
|
||||
<thead>
|
||||
<th></th>
|
||||
<th>Name</th>
|
||||
<th>Owner</th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<tr v-for="team in teams">
|
||||
<!-- Photo -->
|
||||
<td>
|
||||
<img :src="team.photo_url" class="spark-team-photo">
|
||||
</td>
|
||||
|
||||
<!-- Team Name -->
|
||||
<td>
|
||||
<div class="btn-table-align">
|
||||
@{{ team.name }}
|
||||
</div>
|
||||
</td>
|
||||
|
||||
<!-- Owner Name -->
|
||||
<td>
|
||||
<div class="btn-table-align">
|
||||
<span v-if="user.id == team.owner.id">
|
||||
You
|
||||
</span>
|
||||
|
||||
<span v-else>
|
||||
@{{ team.owner.name }}
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
|
||||
<!-- Edit Button -->
|
||||
<td>
|
||||
<a :href="'/settings/{{str_plural(Spark::teamString())}}/'+team.id">
|
||||
<button class="btn btn-primary">
|
||||
<i class="fa fa-cog"></i>
|
||||
</button>
|
||||
</a>
|
||||
</td>
|
||||
|
||||
<!-- Leave Button -->
|
||||
<td>
|
||||
<button class="btn btn-warning" @click="approveLeavingTeam(team)"
|
||||
data-toggle="tooltip" title="Leave Team"
|
||||
v-if="user.id !== team.owner_id">
|
||||
<i class="fa fa-sign-out"></i>
|
||||
</button>
|
||||
</td>
|
||||
|
||||
@if (Spark::createsAdditionalTeams())
|
||||
<!-- Delete Button -->
|
||||
<td>
|
||||
<button class="btn btn-danger-outline" @click="approveTeamDelete(team)" v-if="user.id === team.owner_id">
|
||||
<i class="fa fa-times"></i>
|
||||
</button>
|
||||
</td>
|
||||
@endif
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Leave Team Modal -->
|
||||
<div class="modal fade" id="modal-leave-team" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog" v-if="leavingTeam">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button " class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
|
||||
<h4 class="modal-title">
|
||||
Leave {{ ucfirst(Spark::teamString()) }} (@{{ leavingTeam.name }})
|
||||
</h4>
|
||||
</div>
|
||||
|
||||
<div class="modal-body">
|
||||
Are you sure you want to leave this {{ Spark::teamString() }}?
|
||||
</div>
|
||||
|
||||
<!-- Modal Actions -->
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">No, Go Back</button>
|
||||
|
||||
<button type="button" class="btn btn-warning" @click="leaveTeam" :disabled="leaveTeamForm.busy">
|
||||
Yes, Leave
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Delete Team Modal -->
|
||||
<div class="modal fade" id="modal-delete-team" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog" v-if="deletingTeam">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button " class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
|
||||
<h4 class="modal-title">
|
||||
Delete {{ ucfirst(Spark::teamString()) }} (@{{ deletingTeam.name }})
|
||||
</h4>
|
||||
</div>
|
||||
|
||||
<div class="modal-body">
|
||||
Are you sure you want to delete this {{ Spark::teamString() }}? If you choose to delete the {{ Spark::teamString() }}, all of the
|
||||
{{ Spark::teamString() }}'s data will be permanently deleted.
|
||||
</div>
|
||||
|
||||
<!-- Modal Actions -->
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">No, Go Back</button>
|
||||
|
||||
<button type="button" class="btn btn-danger" @click="deleteTeam" :disabled="deleteTeamForm.busy">
|
||||
<span v-if="deleteTeamForm.busy">
|
||||
<i class="fa fa-btn fa-spinner fa-spin"></i>Deleting
|
||||
</span>
|
||||
|
||||
<span v-else>
|
||||
Yes, Delete
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</spark-current-teams>
|
@@ -0,0 +1,14 @@
|
||||
Hi!
|
||||
|
||||
<br><br>
|
||||
|
||||
{{ $invitation->team->owner->name }} has invited you to join their {{ Spark::teamString() }}!
|
||||
|
||||
<br><br>
|
||||
|
||||
Since you already have an account, you may accept the invitation from your
|
||||
account settings screen.
|
||||
|
||||
<br><br>
|
||||
|
||||
See you soon!
|
@@ -0,0 +1,14 @@
|
||||
Hi!
|
||||
|
||||
<br><br>
|
||||
|
||||
{{ $invitation->team->owner->name }} has invited you to join their {{ Spark::teamString() }}! If you do not already have an account,
|
||||
you may click the following link to get started:
|
||||
|
||||
<br><br>
|
||||
|
||||
<a href="{{ url('register?invitation='.$invitation->token) }}">{{ url('register?invitation='.$invitation->token) }}</a>
|
||||
|
||||
<br><br>
|
||||
|
||||
See you soon!
|
@@ -0,0 +1,34 @@
|
||||
<spark-mailed-invitations :invitations="invitations" inline-template>
|
||||
<div>
|
||||
<div class="panel panel-default" v-if="invitations.length > 0">
|
||||
<div class="panel-heading">Mailed Invitations</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<table class="table table-borderless m-b-none">
|
||||
<thead>
|
||||
<th>E-Mail Address</th>
|
||||
<th></th>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<tr v-for="invitation in invitations">
|
||||
<!-- E-Mail Address -->
|
||||
<td>
|
||||
<div class="btn-table-align">
|
||||
@{{ invitation.email }}
|
||||
</div>
|
||||
</td>
|
||||
|
||||
<!-- Delete Button -->
|
||||
<td>
|
||||
<button class="btn btn-danger-outline" @click="cancel(invitation)">
|
||||
<i class="fa fa-times"></i>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</spark-mailed-invitations>
|
@@ -0,0 +1,42 @@
|
||||
<spark-pending-invitations inline-template>
|
||||
<div>
|
||||
<div class="panel panel-default" v-if="invitations.length > 0">
|
||||
<div class="panel-heading">Pending Invitations</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<table class="table table-borderless m-b-none">
|
||||
<thead>
|
||||
<th>{{ ucfirst(Spark::teamString()) }}</th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<tr v-for="invitation in invitations">
|
||||
<!-- Team Name -->
|
||||
<td>
|
||||
<div class="btn-table-align">
|
||||
@{{ invitation.team.name }}
|
||||
</div>
|
||||
</td>
|
||||
|
||||
<!-- Accept Button -->
|
||||
<td>
|
||||
<button class="btn btn-success" @click="accept(invitation)">
|
||||
<i class="fa fa-check"></i>
|
||||
</button>
|
||||
</td>
|
||||
|
||||
<!-- Reject Button -->
|
||||
<td>
|
||||
<button class="btn btn-danger-outline" @click="reject(invitation)">
|
||||
<i class="fa fa-times"></i>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</spark-pending-invitations>
|
@@ -0,0 +1,53 @@
|
||||
<spark-send-invitation :user="user" :team="team" :billable-type="billableType" inline-template>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Send Invitation</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<!-- Success Message -->
|
||||
<div class="alert alert-success" v-if="form.successful">
|
||||
The invitation has been sent!
|
||||
</div>
|
||||
|
||||
<form class="form-horizontal" role="form" v-if="canInviteMoreTeamMembers">
|
||||
<!-- E-Mail Address -->
|
||||
<div class="form-group" :class="{'has-error': form.errors.has('email')}">
|
||||
<label class="col-md-4 control-label">E-Mail Address</label>
|
||||
|
||||
<div class="col-md-6">
|
||||
<input type="email" class="form-control" name="email" v-model="form.email">
|
||||
<span class="help-block" v-if="hasTeamMembersLimit">
|
||||
You currently have @{{ remainingTeamMembers }} invitation(s) remaining.
|
||||
</span>
|
||||
<span class="help-block" v-show="form.errors.has('email')">
|
||||
@{{ form.errors.get('email') }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Send Invitation Button -->
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-4 col-md-6">
|
||||
<button type="submit" class="btn btn-primary"
|
||||
@click.prevent="send"
|
||||
:disabled="form.busy">
|
||||
|
||||
<span v-if="form.busy">
|
||||
<i class="fa fa-btn fa-spinner fa-spin"></i>Sending
|
||||
</span>
|
||||
|
||||
<span v-else>
|
||||
Send Invitation
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div v-else>
|
||||
<span class="text-danger">
|
||||
Your current plan doesn't allow you to invite more members, please <a href="{{ url('/settings#/subscription') }}">upgrade your subscription</a>.
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</spark-send-invitation>
|
141
spark/resources/views/settings/teams/team-members.blade.php
Normal file
141
spark/resources/views/settings/teams/team-members.blade.php
Normal file
@@ -0,0 +1,141 @@
|
||||
<spark-team-members :user="user" :team="team" inline-template>
|
||||
<div>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">{{ ucfirst(Spark::teamString()) }} Members (@{{ team.users.length }})</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<table class="table table-borderless m-b-none">
|
||||
<thead>
|
||||
<th></th>
|
||||
<th>Name</th>
|
||||
<th v-if="roles.length > 1">Role</th>
|
||||
<th v-if="roles.length > 1"><!-- Edit Team Member Button --></th>
|
||||
<th></th>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<tr v-for="member in team.users">
|
||||
<!-- Photo -->
|
||||
<td>
|
||||
<img :src="member.photo_url" class="spark-profile-photo">
|
||||
</td>
|
||||
|
||||
<!-- Name -->
|
||||
<td>
|
||||
<div class="btn-table-align">
|
||||
<span v-if="member.id === user.id">
|
||||
You
|
||||
</span>
|
||||
|
||||
<span v-else>
|
||||
@{{ member.name }}
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
|
||||
<!-- Role -->
|
||||
<td v-if="roles.length > 0">
|
||||
<div class="btn-table-align">
|
||||
@{{ teamMemberRole(member) }}
|
||||
</div>
|
||||
</td>
|
||||
|
||||
<!-- Edit Button -->
|
||||
<td v-if="roles.length > 0">
|
||||
<button class="btn btn-primary"
|
||||
@click="editTeamMember(member)"
|
||||
v-if="canEditTeamMember(member)">
|
||||
|
||||
<i class="fa fa-pencil"></i>
|
||||
</button>
|
||||
</td>
|
||||
|
||||
<!-- Delete Button -->
|
||||
<td>
|
||||
<button class="btn btn-danger-outline"
|
||||
@click="approveTeamMemberDelete(member)"
|
||||
v-if="canDeleteTeamMember(member)">
|
||||
|
||||
<i class="fa fa-times"></i>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Update Team Member Modal -->
|
||||
<div class="modal fade" id="modal-update-team-member" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog" v-if="updatingTeamMember">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button " class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
|
||||
<h4 class="modal-title">
|
||||
Edit {{ ucfirst(Spark::teamString()) }} Member (@{{ updatingTeamMember.name }})
|
||||
</h4>
|
||||
</div>
|
||||
|
||||
<div class="modal-body">
|
||||
<!-- Update Team Member Form -->
|
||||
<form class="form-horizontal" role="form">
|
||||
<div class="form-group" :class="{'has-error': updateTeamMemberForm.errors.has('role')}">
|
||||
<label class="col-md-4 control-label">{{ ucfirst(Spark::teamString()) }} Member Role</label>
|
||||
|
||||
<div class="col-md-6">
|
||||
<select class="form-control" v-model="updateTeamMemberForm.role">
|
||||
<option v-for="role in roles" :value="role.value">
|
||||
@{{ role.text }}
|
||||
</option>
|
||||
</select>
|
||||
|
||||
<span class="help-block" v-if="updateTeamMemberForm.errors.has('role')">
|
||||
@{{ updateTeamMemberForm.errors.get('role') }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<!-- Modal Actions -->
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
|
||||
|
||||
<button type="button" class="btn btn-primary" @click="update" :disabled="updateTeamMemberForm.busy">
|
||||
Update
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Delete Team Member Modal -->
|
||||
<div class="modal fade" id="modal-delete-member" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog" v-if="deletingTeamMember">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button " class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
|
||||
<h4 class="modal-title">
|
||||
Remove {{ ucfirst(Spark::teamString()) }} Member (@{{ deletingTeamMember.name }})
|
||||
</h4>
|
||||
</div>
|
||||
|
||||
<div class="modal-body">
|
||||
Are you sure you want to remove this {{ ucfirst(Spark::teamString()) }} member?
|
||||
</div>
|
||||
|
||||
<!-- Modal Actions -->
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">No, Go Back</button>
|
||||
|
||||
<button type="button" class="btn btn-danger" @click="deleteMember" :disabled="deleteTeamMemberForm.busy">
|
||||
Yes, Remove
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</spark-team-members>
|
@@ -0,0 +1,20 @@
|
||||
<spark-team-membership :user="user" :team="team" :billable-type="billableType" inline-template>
|
||||
<div>
|
||||
@if (Auth::user()->ownsTeam($team))
|
||||
<!-- Send Invitation -->
|
||||
<div v-if="user && team">
|
||||
@include('spark::settings.teams.send-invitation')
|
||||
</div>
|
||||
|
||||
<!-- Pending Invitations -->
|
||||
<div v-if="invitations && invitations.length > 0">
|
||||
@include('spark::settings.teams.mailed-invitations')
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<!-- Team Members -->
|
||||
<div v-if="user && team">
|
||||
@include('spark::settings.teams.team-members')
|
||||
</div>
|
||||
</div>
|
||||
</spark-team-membership>
|
11
spark/resources/views/settings/teams/team-profile.blade.php
Normal file
11
spark/resources/views/settings/teams/team-profile.blade.php
Normal file
@@ -0,0 +1,11 @@
|
||||
<spark-team-profile :user="user" :team="team" inline-template>
|
||||
<div>
|
||||
<div v-if="user && team">
|
||||
<!-- Update Team Photo -->
|
||||
@include('spark::settings.teams.update-team-photo')
|
||||
|
||||
<!-- Update Team Name -->
|
||||
@include('spark::settings.teams.update-team-name')
|
||||
</div>
|
||||
</div>
|
||||
</spark-team-profile>
|
156
spark/resources/views/settings/teams/team-settings.blade.php
Normal file
156
spark/resources/views/settings/teams/team-settings.blade.php
Normal file
@@ -0,0 +1,156 @@
|
||||
@extends('spark::layouts.app')
|
||||
|
||||
@section('scripts')
|
||||
@if (Spark::billsUsingStripe())
|
||||
<script src="https://js.stripe.com/v2/"></script>
|
||||
@else
|
||||
<script src="https://js.braintreegateway.com/v2/braintree.js"></script>
|
||||
@endif
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<spark-team-settings :user="user" :team-id="{{ $team->id }}" inline-template>
|
||||
<div class="spark-screen container">
|
||||
<div class="row">
|
||||
<!-- Tabs -->
|
||||
<div class="col-md-4">
|
||||
<div class="panel panel-default panel-flush">
|
||||
<div class="panel-heading">
|
||||
<span v-if="team">
|
||||
@{{ team.name }} {{ ucfirst(Spark::teamString()) }} Settings
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<div class="spark-settings-tabs">
|
||||
<ul class="nav spark-settings-stacked-tabs" role="tablist">
|
||||
<!-- Owner Settings -->
|
||||
@if (Auth::user()->ownsTeam($team))
|
||||
<li role="presentation" class="active">
|
||||
<a href="#owner" aria-controls="owner" role="tab" data-toggle="tab">
|
||||
<i class="fa fa-fw fa-btn fa-edit"></i>{{ ucfirst(Spark::teamString()) }} Profile
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
|
||||
<!-- Membership -->
|
||||
@if (Auth::user()->ownsTeam($team))
|
||||
<li role="presentation">
|
||||
@else
|
||||
<li role="presentation" class="active">
|
||||
@endif
|
||||
<a href="#membership" aria-controls="membership" role="tab" data-toggle="tab">
|
||||
<i class="fa fa-fw fa-btn fa-users"></i>Membership
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<!-- View All Teams -->
|
||||
@if (Spark::createsAdditionalTeams())
|
||||
<li role="presentation">
|
||||
<a href="/settings#/{{str_plural(Spark::teamString())}}">
|
||||
<i class="fa fa-fw fa-btn fa-arrow-left"></i>View All {{ ucfirst(str_plural(Spark::teamString())) }}
|
||||
</a>
|
||||
</li>
|
||||
@else
|
||||
<li role="presentation">
|
||||
<a href="/settings">
|
||||
<i class="fa fa-fw fa-btn fa-arrow-left"></i>Your Settings
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Billing Tabs -->
|
||||
@if (Spark::canBillTeams() && Auth::user()->ownsTeam($team))
|
||||
<div class="panel panel-default panel-flush">
|
||||
<div class="panel-heading">
|
||||
{{ ucfirst(Spark::teamString()) }} Billing
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<div class="spark-settings-tabs">
|
||||
<ul class="nav spark-settings-stacked-tabs" role="tablist">
|
||||
@if (Spark::hasPaidTeamPlans())
|
||||
<!-- Subscription Link -->
|
||||
<li role="presentation">
|
||||
<a href="#subscription" aria-controls="subscription" role="tab" data-toggle="tab">
|
||||
<i class="fa fa-fw fa-btn fa-shopping-bag"></i>Subscription
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
|
||||
<!-- Payment Method Link -->
|
||||
<li role="presentation">
|
||||
<a href="#payment-method" aria-controls="payment-method" role="tab" data-toggle="tab">
|
||||
<i class="fa fa-fw fa-btn fa-credit-card"></i>Payment Method
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<!-- Invoices Link -->
|
||||
<li role="presentation">
|
||||
<a href="#invoices" aria-controls="invoices" role="tab" data-toggle="tab">
|
||||
<i class="fa fa-fw fa-btn fa-history"></i>Invoices
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<!-- Tab Panels -->
|
||||
<div class="col-md-8">
|
||||
<div class="tab-content">
|
||||
<!-- Owner Information -->
|
||||
@if (Auth::user()->ownsTeam($team))
|
||||
<div role="tabpanel" class="tab-pane active" id="owner">
|
||||
@include('spark::settings.teams.team-profile')
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<!-- Membership -->
|
||||
@if (Auth::user()->ownsTeam($team))
|
||||
<div role="tabpanel" class="tab-pane" id="membership">
|
||||
@else
|
||||
<div role="tabpanel" class="tab-pane active" id="membership">
|
||||
@endif
|
||||
<div v-if="team">
|
||||
@include('spark::settings.teams.team-membership')
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Billing Tab Panes -->
|
||||
@if (Spark::canBillTeams() && Auth::user()->ownsTeam($team))
|
||||
@if (Spark::hasPaidTeamPlans())
|
||||
<!-- Subscription -->
|
||||
<div role="tabpanel" class="tab-pane" id="subscription">
|
||||
<div v-if="user && team">
|
||||
@include('spark::settings.subscription')
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<!-- Payment Method -->
|
||||
<div role="tabpanel" class="tab-pane" id="payment-method">
|
||||
<div v-if="user && team">
|
||||
@include('spark::settings.payment-method')
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Invoices -->
|
||||
<div role="tabpanel" class="tab-pane" id="invoices">
|
||||
<div v-if="user && team">
|
||||
@include('spark::settings.invoices')
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</spark-team-settings>
|
||||
@endsection
|
@@ -0,0 +1,39 @@
|
||||
<spark-update-team-name :user="user" :team="team" inline-template>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Update {{ ucfirst(Spark::teamString()) }} Name</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<!-- Success Message -->
|
||||
<div class="alert alert-success" v-if="form.successful">
|
||||
Your {{ Spark::teamString() }} name has been updated!
|
||||
</div>
|
||||
|
||||
<form class="form-horizontal" role="form">
|
||||
<!-- Name -->
|
||||
<div class="form-group" :class="{'has-error': form.errors.has('name')}">
|
||||
<label class="col-md-4 control-label">Name</label>
|
||||
|
||||
<div class="col-md-6">
|
||||
<input type="text" class="form-control" name="name" v-model="form.name">
|
||||
|
||||
<span class="help-block" v-show="form.errors.has('name')">
|
||||
@{{ form.errors.get('name') }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Update Button -->
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-4 col-md-6">
|
||||
<button type="submit" class="btn btn-primary"
|
||||
@click.prevent="update"
|
||||
:disabled="form.busy">
|
||||
|
||||
Update
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</spark-update-team-name>
|
@@ -0,0 +1,39 @@
|
||||
<spark-update-team-photo :user="user" :team="team" inline-template>
|
||||
<div>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">{{ ucfirst(Spark::teamString()) }} Photo</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<div class="alert alert-danger" v-if="form.errors.has('photo')">
|
||||
@{{ form.errors.get('photo') }}
|
||||
</div>
|
||||
|
||||
<form class="form-horizontal" role="form">
|
||||
<!-- Photo Preview-->
|
||||
<div class="form-group">
|
||||
<label class="col-md-4 control-label"> </label>
|
||||
|
||||
<div class="col-md-6">
|
||||
<span role="img" class="team-photo-preview"
|
||||
:style="previewStyle">
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Update Button -->
|
||||
<div class="form-group">
|
||||
<label class="col-md-4 control-label"> </label>
|
||||
|
||||
<div class="col-md-6">
|
||||
<label type="button" class="btn btn-primary btn-upload" :disabled="form.busy">
|
||||
<span>Select New Photo</span>
|
||||
|
||||
<input ref="photo" type="file" class="form-control" name="photo" @change="update">
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</spark-update-team-photo>
|
Reference in New Issue
Block a user