mirror of
https://github.com/bitwarden/server
synced 2025-12-29 22:54:00 +00:00
* [EC-427] Add columns 'Type' and 'BillingPhone' to Provider table * [EC-427] Provider table Type and BillingPhone MySql migrations * [EC-427] Provider table Type and BillingPhone Postgres migrations * [EC-427] Add mysql migration script * [EC-427] Add mysql migration script * [EC-427] Updated Provider sql script to include default column value * [EC-427] Removed default value from Provider.Type column * [EC-427] Changed migration script to include a default value constraint instead of updating the null type * [EC-427] Updated Sql project Provider table script * [EC-427] Changed migration script to use 'Create OR Alter' for views and sprocs * [EC-427] Added default values for 'BillingPhone' and 'Type' fields on sprocs [dbo].[Provider_Create] and [dbo].[Provider_Update] * [EC-427] Adjusting metadata in migration script * [EC-427] Updated Provider sprocs SQL script files * [EC-427] Fixed migration script * [EC-427] Added sqlite migration * [EC-427] Add missing Provider_Update sproc default value * [EC-427] Added missing GO action to migration script * [EC-459] Added Type column to Providers list * [EC-428] Added Type, BusinessName and BillingEmail to CreateProviderModel * [EC-428] Updated Create Provider view to include new fields * [EC-428] Updated ProviderService to not create a ProviderUser for the type Reseller * [EC-428] Added custom validation for Provider fields depending on selected Type * [EC-428] Redirect to Edit after creating Provider * [EC-428] Setting Provider status as Created for Resellers * [EC-428] Redirect on Provider creation depending if self host server * [EC-428] Split ProviderService.CreateAsync into two methods: CreateMspAsync and CreateResellerAsync * [EC-428] Created ICreateProviderCommand and added service for injection on Admin.Startup * [EC-428] Modified Provider views to use DisplayName attribute values * [EC-428] Moved ICreateProviderCommand to Core project * [EC-428] Adding ICreateProviderCommand injection next to IProviderService * [EC-428] Moved CreateProviderCommand to Commercial.Core project * [EC-459] Added Type column to Providers list * [EC-428] Added Type, BusinessName and BillingEmail to CreateProviderModel * [EC-428] Updated Create Provider view to include new fields * [EC-428] Updated ProviderService to not create a ProviderUser for the type Reseller * [EC-428] Added custom validation for Provider fields depending on selected Type * [EC-428] Redirect to Edit after creating Provider * [EC-428] Setting Provider status as Created for Resellers * [EC-428] Redirect on Provider creation depending if self host server * [EC-428] Split ProviderService.CreateAsync into two methods: CreateMspAsync and CreateResellerAsync * [EC-428] Created ICreateProviderCommand and added service for injection on Admin.Startup * [EC-428] Modified Provider views to use DisplayName attribute values * [EC-428] Moved ICreateProviderCommand to Core project * [EC-428] Adding ICreateProviderCommand injection next to IProviderService * [EC-428] Moved CreateProviderCommand to Commercial.Core project * [EC-428] Moved CreateProviderCommand to namespace Bit.Commercial.Core.Providers
95 lines
3.3 KiB
Plaintext
95 lines
3.3 KiB
Plaintext
@using Bit.SharedWeb.Utilities
|
|
@model ProvidersModel
|
|
@{
|
|
ViewData["Title"] = "Providers";
|
|
}
|
|
|
|
<h1>Providers</h1>
|
|
|
|
<div class="row mb-2">
|
|
<div class="col">
|
|
<form class="form-inline mb-2" method="get">
|
|
<label class="sr-only" asp-for="Name">Name</label>
|
|
<input type="text" class="form-control mb-2 mr-2" placeholder="Name" asp-for="Name" name="name">
|
|
<label class="sr-only" asp-for="UserEmail">User email</label>
|
|
<input type="text" class="form-control mb-2 mr-2" placeholder="User email" asp-for="UserEmail" name="userEmail">
|
|
<button type="submit" class="btn btn-primary mb-2" title="Search"><i class="fa fa-search"></i> Search</button>
|
|
</form>
|
|
</div>
|
|
<div class="col-auto">
|
|
<a asp-action="Create" class="btn btn-secondary">Create Provider</a>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="table-responsive">
|
|
<table class="table table-striped table-hover">
|
|
<thead>
|
|
<tr>
|
|
<th>Name</th>
|
|
<th style="width: 190px;">Provider Type</th>
|
|
<th style="width: 190px;">Status</th>
|
|
<th style="width: 150px;">Created</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@if(!Model.Items.Any())
|
|
{
|
|
<tr>
|
|
<td colspan="5">No results to list.</td>
|
|
</tr>
|
|
}
|
|
else
|
|
{
|
|
@foreach(var provider in Model.Items)
|
|
{
|
|
<tr>
|
|
<td>
|
|
<a asp-action="@Model.Action" asp-route-id="@provider.Id">@(provider.Name ?? "Pending")</a>
|
|
</td>
|
|
<td>@provider.Type.GetDisplayAttribute()?.GetShortName()</td>
|
|
<td>@provider.Status</td>
|
|
<td>
|
|
<span title="@provider.CreationDate.ToString()">
|
|
@provider.CreationDate.ToShortDateString()
|
|
</span>
|
|
</td>
|
|
</tr>
|
|
}
|
|
}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<nav>
|
|
<ul class="pagination">
|
|
@if(Model.PreviousPage.HasValue)
|
|
{
|
|
<li class="page-item">
|
|
<a class="page-link" asp-action="Index" asp-route-page="@Model.PreviousPage.Value"
|
|
asp-route-count="@Model.Count" asp-route-userEmail="@Model.UserEmail"
|
|
asp-route-name="@Model.Name" asp-route-paid="@Model.Paid">Previous</a>
|
|
</li>
|
|
}
|
|
else
|
|
{
|
|
<li class="page-item disabled">
|
|
<a class="page-link" href="#" tabindex="-1">Previous</a>
|
|
</li>
|
|
}
|
|
@if(Model.NextPage.HasValue)
|
|
{
|
|
<li class="page-item">
|
|
<a class="page-link" asp-action="Index" asp-route-page="@Model.NextPage.Value"
|
|
asp-route-count="@Model.Count" asp-route-userEmail="@Model.UserEmail"
|
|
asp-route-name="@Model.Name" asp-route-paid="@Model.Paid">Next</a>
|
|
</li>
|
|
}
|
|
else
|
|
{
|
|
<li class="page-item disabled">
|
|
<a class="page-link" href="#" tabindex="-1">Next</a>
|
|
</li>
|
|
}
|
|
</ul>
|
|
</nav>
|