1
0
mirror of https://github.com/bitwarden/server.git synced 2025-04-05 13:08:17 -05:00
bitwarden/src/Admin/Views/Shared/_BillingInformation.cshtml
Jared McCannon 03bd47e390
[PM-12324] Add HTML ids to Bitwarden Portal for automated testing (#4789)
* Adding ids to org page in admin portal.

Co-authored-by: Rui Tomé <108268980+r-tome@users.noreply.github.com>
2024-09-19 10:57:42 -05:00

93 lines
4.4 KiB
Plaintext

@using Bit.Admin.Enums;
@inject Bit.Admin.Services.IAccessControlService AccessControlService
@model BillingInformationModel
@{
var canManageTransactions = Model.Entity == "User" ? AccessControlService.UserHasPermission(Permission.User_BillingInformation_CreateEditTransaction)
: AccessControlService.UserHasPermission(Permission.Org_BillingInformation_CreateEditTransaction);
var canDownloadInvoice = Model.Entity == "User" ? AccessControlService.UserHasPermission(Permission.User_BillingInformation_DownloadInvoice)
: AccessControlService.UserHasPermission(Permission.Org_BillingInformation_DownloadInvoice);
}
<dl class="row">
<dt id="billing-account-credit-balance" class="col-sm-4 col-lg-3">Account @(Model.BillingInfo.Balance <= 0 ? "Credit" : "Balance")</dt>
<dd id="billing-account-credit-balance-value" class="col-sm-8 col-lg-9">@Math.Abs(Model.BillingInfo.Balance).ToString("C")</dd>
<dt class="col-sm-4 col-lg-3">Invoices</dt>
<dd class="col-sm-8 col-lg-9">
@if(Model.BillingHistoryInfo.Invoices?.Any() ?? false)
{
<table class="table">
<tbody>
@{ var invoiceIndex = 0; }
@foreach (var invoice in Model.BillingHistoryInfo.Invoices)
{
<tr>
<td id="invoice-@(invoiceIndex)-date">@invoice.Date</td>
<td><a id="invoice-@(invoiceIndex)-url" target="_blank" rel="noreferrer" href="@invoice.Url" title="View Invoice">@invoice.Number</a>
</td>
<td id="invoice-@(invoiceIndex)-amount">@invoice.Amount.ToString("C")</td>
<td id="invoice-@(invoiceIndex)-paid">@(invoice.Paid ? "Paid" : "Unpaid")</td>
@if (canDownloadInvoice)
{
<td>
<a id="invoice-@(invoiceIndex)-pdf-url" target="_blank" rel="noreferrer" href="@invoice.PdfUrl" title="Download Invoice">
<i class="fa fa-file-pdf-o"></i>
</a>
</td>
}
</tr>
invoiceIndex++;
}
</tbody>
</table>
}
else
{
@: No invoices.
}
</dd>
<dt class="col-sm-4 col-lg-3">Transactions</dt>
<dd class="col-sm-8 col-lg-9">
@if(Model.BillingHistoryInfo.Transactions?.Any() ?? false)
{
<table class="table">
<tbody>
@{ var transactionIndex = 0; }
@foreach (var transaction in Model.BillingHistoryInfo.Transactions)
{
<tr>
<td id="transaction-@(transactionIndex)-created-date">@transaction.CreatedDate</td>
<td id="transaction-@(transactionIndex)-type">@transaction.Type.ToString()</td>
<td id="transaction-@(transactionIndex)-payment-method">@transaction.PaymentMethodType.ToString()</td>
<td id="transaction-@(transactionIndex)-details">@transaction.Details</td>
<td id="transaction-@(transactionIndex)-amount">@transaction.Amount.ToString("C")</td>
@if (canManageTransactions)
{
<td>
<a id="transaction-@(transactionIndex)-edit-link" title="Edit Transaction" asp-controller="Tools" asp-action="EditTransaction"
asp-route-id="@transaction.Id"><i class="fa fa-edit"></i></a>
</td>
}
</tr>
transactionIndex++;
}
</tbody>
</table>
}
else
{
<p>No transactions.</p>
}
@if (canManageTransactions)
{
<a id="transaction-create-transaction-link" asp-action="CreateTransaction" asp-controller="Tools" asp-route-organizationId="@Model.OrganizationId"
asp-route-userId="@Model.UserId" class="btn btn-sm btn-outline-primary">
<i class="fa fa-plus"></i> New Transaction
</a>
}
</dd>
</dl>