cobuild-angular-stack
Version:
Base stack angular sass jade gulp
623 lines (614 loc) • 52.5 kB
HTML
<header class="header-list">
<div class="section-description row">
<div>
<h2>{{'couple' | translate }} - {{coupleAccount.fakeid}}</h2>
</div>
<div class="m-r-20 m-t-20">
<ul class="breadcrumb">
<li class="">
<i class="glyphicon glyphicon-home"></i>
<span ui-sref="admin.coupleAccounts">{{ 'home' | translate }}</span> /
<span ui-sref="admin.coupleAccounts">{{ 'couples' | translate }}</span> /
<span class="active">
{{coupleAccount.weddingData.nameP1 || 'No determinado aun'}} y
{{coupleAccount.weddingData.nameP2 || 'No determinado aun' }}
</span>
</li>
</ul>
</div>
</div>
</header>
<div class="body-list">
<div class="row">
<div class="col-md-12">
<div class="profile-sidebar">
<!-- PORTLET MAIN -->
<div class="portlet light profile-sidebar-portlet ">
<!-- SIDEBAR USERPIC -->
<div class="row p-b-20" ng-if="!coupleAccount.id" >
<div class="admin-loader text-center"></div>
</div>
<div ng-if="coupleAccount.id" class="profile-userpic">
<img ng-src="{{coupleAccount.weddingData.profilePhoto}}" class="img-responsive" alt=""> </div>
<!-- END SIDEBAR USERPIC -->
<!-- SIDEBAR USER TITLE -->
<!--<div ng-if="coupleAccount.codeId" style="position: absolute;top: -1px;left: 0%;width: auto;" class="flag-right">Descuento </div>-->
<div ng-if="coupleAccount.id" class="profile-usertitle">
<div class="profile-usertitle-name">
{{coupleAccount.weddingData.nameP1 || 'No determinado aun'}} y
{{coupleAccount.weddingData.nameP2 || 'No determinado aun' }}
</div>
<div class="profile-usertitle-job"> {{ coupleAccount.fakeid }} </div>
</div>
<!-- END SIDEBAR USER TITLE -->
<!-- SIDEBAR BUTTONS -->
<div ng-if="coupleAccount.id" class="profile-userbuttons">
<button type="button" class="btn btn-circle btn-sm" ng-class="{'green-haze': coupleAccount.isActive, 'red' : !coupleAccount.isActive }">{{coupleAccount.isActive ? 'Activo' : 'Inactivo'}}</button>
<button type="button" class="btn btn-circle btn-sm" ng-class="{'btn-primary': coupleAccount.payInformationData.isPaid , 'red' : !coupleAccount.payInformationData.isPaid }" >
{{ !coupleAccount.payInformationData.isPaid ? "Sin plan" : ( coupleAccount.payInformationData.payPerPercentage ? 'Porcentaje' : (coupleAccount.payInformationData.isPremium ? 'Pago Premium' : 'Pago Único')) }}
</button>
</div>
<!-- END SIDEBAR BUTTONS -->
<!-- SIDEBAR MENU -->
<div ng-if="coupleAccount.id" class="profile-usermenu">
<ul class="nav">
<li>
<a href="#" class="text-green">
<i class="fa fa-money"></i> Recibido
<spa class="pull-right">
{{giftTotal| currency:'$':2 }}
</spa>
</a>
</li>
<li class="active">
<a href="#" class="text-red">
<i class="fa fa-money"></i> Retirado
<span class="pull-right">
{{cashoutTotal| currency:'$':2 }}
</span>
</a>
</li>
<li>
<a href="#" class="text-blue">
<i class="fa fa-money"></i> Faltante
<span class="pull-right">{{(giftTotal - cashoutTotal)| currency:'$':2 }}</span>
</a>
</li>
</ul>
</div>
<!-- END MENU -->
</div>
<div class="portlet light" ng-if="coupleAccount.payInformationData.isPaid && !coupleAccount.payInformationData.payPerPercentage">
<div class="portlet-title">
<div class="caption">
<i class="icon-microphone font-green"> </i>
DETALLE DE PAGO
</div>
</div>
<div class="portlet-body">
<div class="row number-stats margin-bottom-30">
<div class="col-md-12">
<div class="title" style="padding: 5%;color: #1d43b9;font-weight: 500;">
{{ coupleAccount.payInformationData.paymentMethod }}
</div>
<div class="title-number-portlet" ng-if="coupleAccount.payInformationData.paymentMethod != 'Manual'">
{{ pay | currency : "$" : 2 }}
</div>
<div class="title-number-portlet" ng-if="coupleAccount.payInformationData.paymentMethod == 'Manual'">
{{ coupleAccount.payInformationData.fixedValue | currency : "$" : 2 }}
</div>
<div class="title" style="text-transform: uppercase;padding: 5%;color: #1d43b9;font-weight: 500;" ng-if="coupleAccount.payInformationData.paymentMethod == 'Tarjeta'">
{{ coupleAccount.payInformationData.paymentData.otro.pay_type }}
</div>
</div>
</div>
<div class="row">
<div class="profile-usermenu">
<ul class="nav">
<li ng-if="coupleAccount.payInformationData.paymentMethod != 'Manual'" ng-repeat="product in coupleAccount.payInformationData.paymentData.products" >
<a href="#" ng-class="{'text-green': product.type == 'account', 'text-red': product.type == 'descount'}">
<i class="fa fa-money"></i> {{product.name}}
<span class="pull-right">{{( product.unit_price)| currency:'$':2 }}</span>
</a>
</li>
<li ng-if="coupleAccount.payInformationData.paymentMethod == 'Manual'">
<a href="#" ng-class="text-green">
<i class="fa fa-money"></i> Pago por Uso
<span class="pull-right">{{( coupleAccount.payInformationData.fixedValue )| currency:'$':2 }}</span>
</a>
</li>
</ul>
</div>
</div>
<div class="row" ng-if="coupleAccount.code.code">
<div class="title" style="padding: 5%;color: #1d43b9;font-weight: 500;">
{{ coupleAccount.code.code }}
</div>
</div>
<div class="row" ng-if="coupleAccount.payInformationData.paymentMethod == 'Tarjeta'">
<div class="">
<ul class="list-group">
<li class="list-group-item-detail">
<span class="text-ul"> Últimos 4 dígitos: </span> <span class="">{{ coupleAccount.payInformationData.transactionData.payment_method.last4 }}</span>
</li>
<li class="list-group-item-detail">
<span class="text-ul">Nombre:</span> <span class="">{{ coupleAccount.payInformationData.paymentData.payer.fullname }}</span>
</li>
<li class="list-group-item-detail">
<span class="text-ul">Correo:</span> <span class="">{{ coupleAccount.payInformationData.paymentData.payer.email }}</span>
</li>
<li class="list-group-item-detail">
<span class="text-ul">Teléfono:</span> <span class="">{{ coupleAccount.payInformationData.paymentData.payer.phone }}</span>
</li>
</ul>
</div>
</div>
</div>
</div>
<!-- END PORTLET MAIN -->
<!-- PORTLET MAIN -->
<div class="portlet light">
<!-- STAT -->
<div class="row p-b-20" ng-if="!coupleAccount.id" >
<div class="admin-loader text-center"></div>
</div>
<div ng-if="coupleAccount.id" class="row list-separated profile-stat">
<div class="col-md-12 col-sm-12 col-xs-12">
<div class="uppercase profile-stat-title"> {{coupleAccount.giftList.length}} </div>
<div class="uppercase profile-stat-text"> {{'total-gifts' | translate}} </div>
</div>
</div>
<!-- END STAT -->
<div ng-if="coupleAccount.id">
<span class="profile-desc-text">
<div class="row">
<div class="col-md-12 p-t-10">
<strong class="inline-block">{{'create-date' | translate}}: </strong>
<span>{{coupleAccount.createdAt | date:'dd MMM yyyy'}}</span>
</div>
</div>
<div class="row p-t-10">
<div class="col-md-12">
<strong class="inline-block">{{'payment-date' | translate}}: </strong>
<span>{{coupleAccount.payInformationData.payDate | date:'d MMM yyyy'}}</span>
</div>
</div>
</span>
<div class="p-t-20 profile-desc-link">
<i class="fa fa-envelope"></i>
{{(coupleAccount.email || 'No Definido')|truncate:30:'...':false}}
</div>
<div class="p-t-10 profile-desc-link">
<i class="fa fa-phone-square"></i>
{{ (coupleAccount.phoneNumber1 || 'No Definido') }}
</div>
<div class="p-t-10 profile-desc-link">
<i class="fa fa-chrome"></i>
https://uniko.co/{{ coupleAccount.url }}
</div>
</div>
</div>
<!-- END PORTLET MAIN -->
</div>
<!-- ***************************************************************************** Contend ****************************** -->
<div class="profile-content">
<div class="row">
<div class="col-md-12">
<div class="row p-b-20" ng-if="!coupleAccount.id" >
<div class="admin-loader text-center"></div>
</div>
<div class="portlet light " ng-if="coupleAccount.id">
<div class="portlet-title tabbable-line">
<div class="caption caption-md">
<i class="icon-globe theme-font hide"></i>
<span class="caption-subject font-blue-madison bold uppercase">{{'couple' | translate}}</span>
</div>
<ul class="nav nav-tabs">
<li class="active">
<a href="#tab_1_1" data-toggle="tab">Información</a>
</li>
<li>
<a href="#tab_1_2" data-toggle="tab">{{ 'orders' | translate }}</a>
</li>
<li>
<a href="#tab_1_3" data-toggle="tab">{{'retirement-request' | translate}}</a>
</li>
</ul>
</div>
<div class="portlet-body">
<div class="tab-content">
<!-- PERSONAL INFO TAB -->
<div class="tab-pane active" id="tab_1_1">
<form name="formCouple" method="post" class="form-horizontal">
<div class="row p-t-10">
<div class="col-md-12">
<div class="btn-group pull-right">
<a class="btn btn-default dropdown-toggle" data-toggle="dropdown" href="javascript:;" aria-expanded="false"> Menú
<i class="fa fa-angle-down"></i>
</a>
<ul class="dropdown-menu">
<li>
<a href="#" ng-click="exportData()"> {{'export-data' | translate}}
</a>
</li>
<li>
<a href="#" ng-click="exportRSVP()" > {{'export-rsvp' | translate}} </a>
</li>
<li>
<a href="#" ng-click="orderGift()"> {{'admin-gift-order' | translate }} </a>
</li>
<li>
<a href="#" ng-click="openModalGift()"> {{'admin-gift' | translate }}
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<div class="col-md-10 col-md-offset-1">
<label for="" class="control-label">
{{'your-name' | translate}}
</label>
<input type="text" name="weddingData.nameP1"
ng-model="coupleAccount.weddingData.nameP1"
placeholder="{{'your-name' | translate}}"
autofocus="" class="form-control"/>
<span class="ion-at form-control-feedback"></span>
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<div class="col-md-10 col-md-offset-1">
<label for="" class="control-label">
{{'couple-first-name' | translate}}
</label>
<input type="text" name="weddingData.nameP2"
ng-model="coupleAccount.weddingData.nameP2"
placeholder="{{'couple-first-name' | translate}}"
autofocus="" class="form-control"/>
<span class="ion-at form-control-feedback"></span>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group has-feedback">
<div class="col-md-10 col-md-offset-1">
<label class="control-label">{{'your-last-name' | translate}}</label>
<input type="text" name="weddingData.lastnameP1"
ng-model="coupleAccount.weddingData.lastnameP1"
placeholder="{{'your-last-name' | translate}}"
autofocus="" class="form-control"/>
<span class="ion-at form-control-feedback"></span>
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group has-feedback">
<div class="col-md-10 col-md-offset-1">
<label class="control-label">{{'couple-last-name' | translate}}</label>
<input type="text" name="weddingData.lastnameP2"
ng-model="coupleAccount.weddingData.lastnameP2"
placeholder="{{'couple-last-name' | translate}}"
autofocus="" class="form-control"/>
<span class="ion-at form-control-feedback"></span>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group has-feedback">
<div class="col-md-10 col-md-offset-1">
<label class="control-label">{{'your-email' | translate}} 1</label>
<input type="email" name="email" ng-model="coupleAccount.email"
placeholder="{{'your-email' | translate}}"
autofocus="" class="form-control"/>
<span class="ion-at form-control-feedback"></span>
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group has-feedback">
<div class="col-md-10 col-md-offset-1">
<label class="control-label">{{'couple-email' | translate}} 2</label>
<input type="email" name="email" ng-model="coupleAccount.email2"
placeholder="{{'couple-email' | translate}}"
autofocus="" class="form-control"/>
<span class="ion-at form-control-feedback"></span>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group has-feedback">
<div class="col-md-10 col-md-offset-1">
<label class="control-label">{{'contact-number' | translate}} 1</label>
<input type="tel" name="email" ng-model="coupleAccount.phoneNumber1"
placeholder="{{'contact-number' | translate}}"
autofocus="" class="form-control"/>
<span class="ion-at form-control-feedback"></span>
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group has-feedback">
<div class="col-md-10 col-md-offset-1">
<label class="control-label">{{'contact-number' | translate}} 2</label>
<input type="tel" name="email" ng-model="coupleAccount.phoneNumber2"
placeholder="{{'contact-number' | translate}}"
autofocus="" class="form-control"/>
<span class="ion-at form-control-feedback"></span>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-10" style="margin-left: 5%; width: 90%">
<div class="form-group has-feedback">
<label class="control-label">Url</label>
<div class="input-group col-md-12">
<div class="input-group-addon">https://uniko.co/</div>
<input type="text" style="padding-left: 113px !important;" class="form-control" name="url" ng-model="coupleAccount.url"
placeholder="{{'table-url' | translate }}">
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group has-feedback">
<div class="col-md-10 col-md-offset-1">
<label class="control-label">{{'wedding-date' | translate}}</label>
<input type="date" class="form-control" placeholder="{{'wedding-date' | translate}}"
uib-datepicker-popup="{{format}}"
name="date"
ng-model="coupleAccount.weddingData.date"
is-open="popup1.opened" datepicker-options="dateOptions"
mousewheel="false"
close-text="Close"/>
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group has-feedback">
<div class="col-md-10 col-md-offset-1">
<label class="control-label">{{'local-name' | translate}}</label>
<input type="text"
placeholder="{{'local-name' | translate}}"
ng-model="coupleAccount.weddingData.placeName"
autofocus="" class="form-control"/>
<span class="ion-at form-control-feedback"></span>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6" style="padding: 0 5.7%">
<div class="form-group has-feedback">
<div class="col-md-12">
<label class="control-label">{{'payment-state' | translate}}</label>
<ui-select ng-model="paymentInfo.status" search-enabled="false">
<ui-select-match>{{$select.selected.label | translate}}</ui-select-match>
<ui-select-choices repeat="s in paymentStates">
<div ng-bind-html="s.label | translate"></div>
</ui-select-choices>
</ui-select>
<span class="ion-at form-control-feedback"></span>
</div>
</div>
</div>
<div class="col-md-6" ng-show="paymentInfo.status === paymentStates[2]" style="padding: 0 5.7%">
<div class="form-group has-feedback">
<div class="col-md-12">
<label class="control-label">{{'percent' | translate}}</label>
<input type="text"
style="margin-top: 12px;"
placeholder="{{'percent' | translate}}"
ng-model="coupleAccount.payInformationData.percentageValue"
autofocus="" class="form-control"/>
</div>
</div>
</div>
<div class="col-md-6" ng-show="paymentInfo.status === paymentStates[1] " style="padding: 0 5.7%">
<div class="form-group has-feedback">
<div class="col-md-12">
<label class="control-label">{{'value' | translate}}</label>
<input type="text"
style="margin-top: 12px;"
placeholder="{{'value' | translate}}"
ng-model="coupleAccount.payInformationData.fixedValue"
autofocus="" class="form-control"/>
</div>
</div>
</div>
<div class="col-md-6" ng-show="paymentInfo.status === paymentStates[3] " style="padding: 0 5.7%">
<div class="form-group has-feedback">
<div class="col-md-12">
<label class="control-label">{{'value' | translate}}</label>
<input type="text"
style="margin-top: 12px;"
placeholder="{{'value' | translate}}"
ng-model="coupleAccount.payInformationData.CompleteValue"
autofocus="" class="form-control"/>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-2 col-md-offset-1">
<div class="form-group has-feedback">
<div class="col-md-12">
<label class="mt-checkbox mt-checkbox-outline">
<input type="checkbox" ng-model="coupleAccount.isDisabled" ng-true-value="false" ng-false-value="true" ng-change="changeTable()" >
{{'admin-open-table' | translate}}
<span></span>
</label>
</div>
</div>
</div>
<div class="col-md-2">
<div class="form-group has-feedback">
<div class="col-md-12">
<label class="mt-checkbox mt-checkbox-outline">
<input type="checkbox" ng-model="coupleAccount.isActive" ng-change="changeStatusAccount()">
{{'activate-account' | translate}}
<span></span>
</label>
</div>
</div>
</div>
<div class="col-md-2 col-md-offset-1">
<div class="form-group has-feedback">
<div class="col-md-12">
<label class="mt-checkbox mt-checkbox-outline">
<input type="checkbox" ng-model="coupleAccount.rsvpDisabled" ng-true-value="false" ng-false-value="true" ng-change="changeStatusAccount()">
{{'admin-open-rsvp' | translate}}
<span></span>
</label>
</div>
</div>
</div>
<div class="col-md-4">
<div class="form-group has-feedback">
<div class="col-md-12">
<label class="mt-checkbox mt-checkbox-outline">
<input type="checkbox" ng-model="coupleAccount.trackQuantity" ng-change="changeStatusAccount()">
{{'admin-track-quantity' | translate}}
<span></span>
</label>
</div>
</div>
</div>
</div>
<div class="form-actions">
<div class="row">
<div class="col-md-12">
<button ng-disabled="formCouple.$invalid || saveDisabled" ng-click="!saveDisabled && formCouple.$valid && update()" type="submit" class="btn red pull-right">{{'save-changes' | translate}}</button>
<button ng-disabled="saveDisabled" ng-click="reset()" type="button" class="btn purple btn-outline pull-right">{{'undo-changes' | translate}}</button>
</div>
</div>
</div>
</form>
</div>
<!-- END PERSONAL INFO TAB -->
<!-- CHANGE AVATAR TAB -->
<div class="tab-pane" id="tab_1_2">
<div class="row">
<div class="col-sm-12">
<div class="">
<div class="">
<div class="row">
<div class="col-md-4">
<div class="input-group" ng-if="!advancedSearch.isActive">
<span class="input-group-addon" id="basic-addon1">
<i class="glyphicon glyphicon-search"></i>
</span>
<input style="width: 100%" ng-model="filterOrders.val" type="text" class="form-control" placeholder="{{'name' | translate}} {{'or' | translate}} {{'email' | translate}}">
</div>
</div>
<div class="col-md-8">
<button type="button" class="btn btn-default pull-right" ng-click="exportData()"><i class="glyphicon glyphicon-save-file"></i> {{ 'export-list' | translate }}</button>
</div>
</div>
</div>
<div class="panel-body panel-table">
<div class="row">
<div class="col-md-12">
<table class="table table-striped border">
<thead>
<tr>
<th>Id</th>
<th sort-control="sortBy.selected" field-name="created">{{'create-date' | translate}}</th>
<th sort-control="sortBy.selected" field-name="payDate">{{'payment-date' | translate}}</th>
<th sort-control="sortBy.selected" field-name="paymentData.payer.fullname">{{'buyer' | translate}}</th>
<th sort-control="sortBy.selected" field-name="paymentData.payer.email">{{'email' | translate}}</th>
<th sort-control="sortBy.selected" field-name="paymentData.amount">{{'amount' | translate}}</th>
<th sort-control="sortBy.selected" field-name="paymentMethod">{{'payment-method' | translate}}</th>
<th sort-control="sortBy.selected" field-name="isPaid">{{'state' | translate}}</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="order in orders | orderBy:sortBy.selected.field:sortBy.selected.order==='ASC'">
<td><a ng-if="!order.isGiftAdmin" ui-sref="admin.orders.show({orderId:order.id, couple:coupleAccount})">{{order.fakeid || order.id}}</a></td>
<td>{{order.created | date:'dd-MM-yyyy'}}</td>
<td>{{order.payDate | date:'dd-MM-yyyy'}}</td>
<td>{{order.paymentData.message.givers|map:'text'|join:', '| truncate:20:'...':false}}</td>
<td>{{order.paymentData.message.emails|map:'text'|join:', '| truncate:20:'...':false}}</td>
<td>{{order.paymentData.amount}}</td>
<td ng-if="order.isGiftAdmin"> Bono </td>
<td ng-if="!order.isGiftAdmin">{{ order.paymentMethod }}</td>
<td>{{order.isPaid ? 'Pago': order.paymentMethod === 'Manual'? 'Pendiente':'Stand by' }}</td>
</tr>
<tr ng-if="orders.length == 0 && !loader ">
<td colspan="9">
<div class="text-center">No existen registros</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- END CHANGE AVATAR TAB -->
<!-- CHANGE PASSWORD TAB -->
<div class="tab-pane" id="tab_1_3">
<div class="row">
<div class="col-sm-12">
<div class="">
<div class="">
<div class="row">
<div class="col-md-4">
<div class="input-group" ng-if="!advancedSearch.isActive">
</div>
</div>
<div class="col-md-8">
<button type="button" class="btn btn-default pull-right" ng-click="exportData()"><i class="glyphicon glyphicon-save-file"></i> {{ 'export-list' | translate }}</button>
</div>
</div>
</div>
<div class="panel-body panel-table">
<div class="row">
<div class="col-md-12">
<table class="table table-striped border">
<thead>
<tr>
<th>#</th>
<th>{{'bank' | translate }}</th>
<th>Cuenta CLABE</th>
<th>{{'to-name' | translate}}</th>
<th>{{'required-amount' | translate}}</th>
<th>{{'retained-amount' | translate}}</th>
<th>{{'amount' | translate}}</th>
<th>{{'date' | translate}}</th>
<th>{{'state' | translate}}</th>
</tr>
</thead>
<tbody>
<tr ng-class="{success:cashout.isPaid, active:!cashout.isPaid}"
ng-repeat="cashout in coupleAccount.cashOutInformation">
<td>{{cashout.id}}</td>
<td>{{cashout.bank}}</td>
<td>{{cashout.clabe}}</td>
<td>{{cashout.target}}</td>
<td>{{cashout.requiredAmount|currency:'MXN ':2}}</td>
<td>{{cashout.retainedAmount|currency:'MXN ':2}}</td>
<td>{{cashout.approvedAmount|currency:'MXN ':2}}</td>
<td>{{cashout.date|date:'dd MMM yyyy'}}</td>
<td style="padding-bottom: 0; padding-top: 0;">
<select ng-model="cashout.isPaid"
class="form-control"
ng-options="s.val as s.label for s in [{val:true,label:'Completado'},{val:false,label:'Pendiente'}]"
ng-change="updateCashout(cashout)"
>
</select>