apollodec/Apollo/assets/views/sendSMS/sendSMSsuperadmin.html
venbatechnologies@gmail.com 15a73cff5c sms group actice deactive
2018-08-21 11:03:40 +05:30

487 lines
30 KiB
HTML
Executable File

<!-- start: PAGE TITLE -->
<section id="page-title">
<div class="row">
<div class="col-sm-8">
<h1 class="mainTitle" translate="sidebar.nav.sendSMSPage.MAIN">{{ mainTitle }}</h1>
</div>
<div ncy-breadcrumb></div>
</div>
</section>
<!-- end: PAGE TITLE -->
<!-- start: SEND SMS -->
<div class="container-fluid container-fullw bg-white">
<div class="row">
<div class="col-md-12">
<!-- /// controller: 'UserCtrl' - localtion: assets/js/controllers/sendSMSsuperadminCtrl.js /// -->
<div ng-controller="sendSMSsuperadminCtrl" ng-init="init()">
<!--<h1>D</h1>-->
<tabset class="tabbable">
<tab heading="Send Student Messages" id="viewDayBook">
<div class="row">
<!--<div class="col-md-3">
<label for="form-field-select-2">
Select Branch
</label>
<select class="form-control" tabindex="1" class="cs-select cs-skin-elastic" name="branch" required>
<option value="" disabled selected>Select Branch</option>
<option ng-repeat="bdata in branchList_data" value="{{bdata.BranchCode}}">{{bdata.BranchName}}</option>
</select>
</div>-->
<div class="col-md-3">
<label for="form-field-select-2">
University
</label>
<select class="form-control" tabindex="1" class="cs-select cs-skin-elastic" name="university" ng-model="myUniv" ng-change="getUniveId(myUniv)">
<option value="" disabled selected>Select University</option>
<option ng-repeat="item in universityData" value="{{item}}">{{item.UniversityName}}</option>
</select>
</div>
<div class="col-md-3">
<label for="form-field-select-2">
Batch
</label>
<select class="form-control" tabindex="3" class="cs-select cs-skin-elastic" name="batch" ng-model="searchData.Batch" ng-change="getValueChange()">
<option value="" selected>Select Batch</option>
<option ng-repeat="itemBatch in batchData" value="{{itemBatch.BatchCode}}">{{itemBatch.BatchName}}</option>
</select>
</div>
<div class="col-md-3">
<label for="form-field-select-2">
Course
</label>
<select class="form-control" tabindex="2" class="cs-select cs-skin-elastic" name="course" ng-model="searchData.Course" ng-change="getValueChange()">
<option value="" selected>Select Course</option>
<option ng-repeat="itemCourse in courseData" value="{{itemCourse.CourseID}}">{{itemCourse.CourseName}}</option>
</select>
</div>
</div>
<!--<pre>{{ branchList_data }}</pre>-->
<!--<pre>{{ studentListDetails | json }}</pre>-->
<!--<pre>{{ searchResultLength }}</pre>-->
<div>
<!--// student search result-->
<div ng-if="searchLoading === true">
<!--search loading start-->
<div style="padding: auto 0; color: #007AFF; font-weight: bold; text-align:center;
margin-top: 25px;">
<h4 style="color: inherit">fetching...</h4>
</div>
<!--search loading end-->
</div>
<div ng-if="searchLoading === false">
<div class="col-md-12" ng-if="searchResultStatus == false" style="min-height: 281px;">
<p style="color: red;" align="center"><strong><h4 class="text-center">No
records found... </h4></strong></p>
</div>
<div class="col-md-12" ng-if="searchResultStatus == true">
<div class="col-md-12" ng-if="searchResultLength === 0" style="min-height: 281px;">
<p style="color: red;" align="center"><strong><h4 class="text-center">No
records found... </h4></strong></p>
</div>
<div class="table-responsive" ng-if="searchResultLength > 0">
<!--// search-->
<div class="container">
<div class="row">
<div class="col-md-3">
<label for="form-field-select-2">
Mobile Number
</label>
<script>
$(function () {
$("#search").focus();
});
</script>
<style>
.sort-icon {
font-size: 9px;
margin-left: 5px;
}
th {
cursor: pointer;
}
</style>
<input class="form-control" type="text" ng-change="mySearchChangeFunc(search.MobileNumber)" ng-model="search" id="search"
autofocus tabindex="1" placeholder="Search Mobile" /><br><br>
</div>
</div>
</div>
<table class="table table-hover" ng-controller="studentModalDemoCtrl">
<thead>
<tr>
<th>
<input type="checkbox" ng-hide="allSelectedHide" ng-model="allSelected" ng-change="openUpdateWind()" ng-model-options="{getterSetter: true}"
ng-click="openScreenSen()" />
</th>
<th ng-click="sort('Firstname')">First Name
<span class="glyphicon sort-icon" ng-show="sortKey=='Firstname'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
</th>
<th ng-click="sort('Lastname')">Last Name
<span class="glyphicon sort-icon" ng-show="sortKey=='Lastname'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
</th>
<th ng-click="sort('MobileNumber')">MobileNumber
<span class="glyphicon sort-icon" ng-show="sortKey=='MobileNumber'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
</th>
<th ng-click="sort('EmailID')">Email ID
<span class="glyphicon sort-icon" ng-show="sortKey=='EmailID'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
</th>
<th ng-click="sort('CourseName')">Course
<span class="glyphicon sort-icon" ng-show="sortKey=='CourseName'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
</th>
</tr>
</thead>
<tbody dir-paginate="p in searchResultDetails|filter:search:strict|orderBy:sortKey:reverse|itemsPerPage:10">
<tr>
<td>
<label>
<input type="checkbox" ng-model="p.Selected" ng-bind="values = p.StudentID" ng-change="setOneSelect(p)"
ng-click="openScreenSen()" />
</label>
</td>
<td><a tooltip="View Student" class="text-dark" ng-click="open(p);">{{p.Firstname}}</a></td>
<td>{{p.Lastname}}</td>
<td><a tooltip="View Student" class="text-dark" ng-click="open(p);">{{p.MobileNumber}}</a></td>
<td>{{p.EmailID}}</td>
<td>{{p.CourseName}}</td>
</tr>
</tbody>
</table>
<dir-pagination-controls max-size="10" direction-links="true" boundary-links="true">
</dir-pagination-controls>
</div>
</div>
<div ng-if="OpenWindowStatus">
<style>
#cancel_button {
/*line-height: 12px;
width: 18px;
font-size: 8pt;
font-family: tahoma;*/
margin-top: 1px;
margin-right: 2px;
position: absolute;
top: 0;
right: 0;
}
.target>div:target {
display: block;
}
</style>
<div>
<form name="Form" id="form" novalidate ng-submit="statusUpdate.submit(Form, msg_details)" method="post">
<div id="bottom1" class="container">
<div class="row">
<div class="col-md-3">
</div>
<div class="col-md-6">
<fieldset style="background-color: #eaeaea;">
<legend>
SMS Details
</legend>
<!--<div>
<a id="cancel_button" ng-click="unSelect()" tooltip="Close">
<span class="glyphicon glyphicon-remove-circle"></span>
</a>
</div>-->
<div class="row">
<div class="col-md-2"></div>
<div class="col-md-8 form-group" ng-class="{'has-error':Form.Messagebody.$dirty && Form.Messagebody.$invalid, 'has-success':Form.Messagebody.$valid}">
<label>
Message body <span class="symbol required"></span>
</label>
<textarea type="text" placeholder="Enter Message body" tabindex="7" class="form-control" name="Messagebody" ng-model="msg_details.content"
required/>
<span class="error text-small block" ng-if="Form.Messagebody.$dirty && Form.Messagebody.$error.pattern">Invalid Message body</span>
</div>
<div class="col-md-2"></div>
</div>
<div class="row">
<div class="col-md-12">
<div class="pull-right">
<button type="submit" ng-disabled="disableButton" tabindex="8" ladda="ldloading1.zoom_in" class="btn btn-sm btn-success"
data-style="zoom-in">
<i class="fa fa-circle-o-notch fa-spin" ng-if="disableButton" style="font-size:14px"></i>
Submit
</button>
<button type="reset" tabindex="9" class="btn btn-warning btn-sm" tabindex="9" ng-click="statusUpdate.reset(Form)">
Reset
</button>
</div>
</div>
</div>
</fieldset>
</div>
<div class="col-md-3">
</div>
</div>
</div>
</form>
</div>
</div>
</div>
<!--studen search result end-->
</div>
</tab>
<tab heading="Send Promotional Messages">
<style>
.mobileNumberList {
margin: 6px;
width: 100%;
height: 180px;
border: 1px solid gray;
overflow-x: scroll;
}
.mobileNumberList ul {
list-style: none;
display: flex;
flex-direction: row;
flex-wrap: wrap;
}
.mobileNumberList ul li {
padding: 4px 2px;
margin: 1px 2px;
border: 1px solid gray;
border-radius: 4px;
background: #70a5d0;
color: #000;
}
.deletBtn {
margin: 0 2px;
padding: 2px;
background: #2ba3ca;
border-radius: 50%;
border: 2px solid #469cad;
cursor: pointer;
color: #063742;
}
.deletBtn:hover {
background: #2ac3ca;
}
.lableValue {
margin: 0 4px;
}
.addBtn {
margin: 1px 2px;
padding: 4px 6px;
text-transform: uppercase;
background: #de1072;
border: none;
color: #dadada;
border-radius: 4px;
clear: both;
}
.inputCls {
padding: 7px 4px;
}
</style>
<form name="Form" id="form" novalidate ng-submit="composeMsg.submit(Form)" method="post">
<div class="container">
<div class="row">
<div class="col-md-6" ng-class="{'has-error':Form.addMessage.$dirty && Form.addMessage.$invalid, 'has-success':Form.addMessage.$valid}">
<label>
Message :<span class="symbol required"></span>
</label>
<textarea type="text" placeholder="Enter Message Details" tabindex="3" class="form-control inputCls" name="addMessage" ng-model="mobileNumList.message"
required maxlength="300" />
<span class="text-small block" style="color: rgba(128, 128, 128, 0.64)">Max 300 Characters.</span>
<span class="error text-small block" ng-if="Form.addMessage.$dirty && Form.addMessage.$error.required">Message is Required </span>
</div>
</div>
<div class="row">
<div class="col-md-4">
<label>
<input type="radio" ng-model="message" value="false" ng-click="string(message)">
Number
</label>
<label>
<input type="radio" ng-model="message" value="true" ng-click="string(message)">
Group
</label>
</div>
</div>
<div class="row">
<div class="col-md-4" ng-if="radio==1">
<label>Multiple Mobile Numbers : <span class="symbol required"></span>
</label>
<div>
<textarea type="text" placeholder="Enter Multiple Mobile Numbers" tabindex="5" class="form-control inputCls" name="addMulipleNumbers"
ng-model="mobileNumList.multipleMobile" />
<span><b>Note:</b> Mobile Numbers Must Be Valid And Separate by commas(<b>eg : </b> 9876543210, 9786543210, ...)</span>
<span class="error text-small block" ng-if="addressForm.mobile.$error.pattern && addressForm.mobile.$error.minlength && addressForm.mobile.$error.maxlength">Valid Mobile is Required </span>
</div>
</div>
<div class="col-md-2" ng-if="radio==1">
<i ng-click="composeMsgMultipleNumber()" class="addBtn">add</i>
</div>
<div class="col-md-6" ng-if="radio==1">
<div class="mobileNumberList">
<ul>
<li ng-repeat="num in listMobileNums track by $index"><span class="lableValue">{{num}}</span><span class="deletBtn" ng-click="deletMobileList(num)">X</span></li>
</ul>
</div>
</div>
</div>
<div class="row" ng-if="radio==1">
<div class="pull-left">
<button type="submit" ng-disabled="disableSendButton" tabindex="4" ladda="ldloading1.zoom_in" class="btn btn-sm btn-success"
data-style="zoom-in">
<i class='fa fa-spinner fa-spin' ng-if="disableSendButton"> </i>Send
</button>
</div>
</div>
<div class="col-md-12" ng-if="radio==2">
<div class="row">
<div class="col-md-3">
<select class="form-control" tabindex="1" class="cs-select cs-skin-elastic" name="addType" ng-model="mobileNumList.grouptype"
ng-Change="getall_Numbers(mobileNumList.grouptype);" required>
<option value="" disabled selected>Select Group</option>
<option ng-repeat="p in statusInfo" ng-if="p.IsActive" value="{{p.ID}}">{{p.GroupName}}</option>
</select>
</div>
<div class="col-md-6">
<textarea rows="4" col="3" class="form-control" name="content" ng-model="numbers"></textarea>
</div>
</div>
<div class="col-md-12">
<br/>
<div class="pull-left">
<input type="button" class="btn btn-sm btn-success" tabindex="10" value="Send" ng-click="sendgroup(Form);">
</div>
</div>
</div>
</div>
</form>
</tab>
<tab heading="Manage Groups">
<form name="Form" id="Form" novalidate ng-submit="AddGroup.submit(Form,myModel)" method="post">
<fieldset>
<legend>Add New</legend>
<div class="row">
<div class="col-md-12">
<div class="row">
<div class="col-md-4 form-group" ng-class="">
<label>
Group Name <span class="symbol required"></span>
</label>
<input type="text" placeholder="Enter Group Name" tabindex="1" class="form-control" name="GroupName" ng-model="myModel.GroupName"
ng-pattern="/^[a-zA-Z0-9.\s]*$/" capitalize required/>
<span class="error text-small block" ng-if="Form.GroupName.$dirty && Form.GroupName.$error.required">Group Name is required</span>
<span class="error text-small block" ng-if="Form.GroupName.$dirty && Form.GroupName.$error.pattern">Invalid Group Name </span>
</div>
<div class="col-md-2" style="padding-top: 2.3%;">
<div class="pull-right">
<button type="submit" ladda="ldloading1.zoom_in" tabindex="2" class="btn btn-wide btn-success" data-style="zoom-in">
Add
</button>
</div>
</div>
</div>
</div>
</div>
</fieldset>
</form>
<table class="table table-hover" ng-init="initgroup();">
<thead>
<tr>
<th ng-click="sort('ListName')">Group Name
<span class="glyphicon sort-icon" ng-show="sortKey=='ListName'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"> </span>
</th>
<th>Status</th>
<th></th>
</tr>
</thead>
<!-- {{statusInfo}} -->
<tbody dir-paginate="p in statusInfo|orderBy:sortKey:reverse|filter:search:strict|itemsPerPage:10">
<tr>
<td>{{p.GroupName}}</td>
<td><span ng-if="p.IsActive == 1"> Active </span><span ng-if="p.IsActive == 0">In-Active</span></td>
<td>
<a class="text-azure" id="editRowBtn{{p.ID}}" ng-click="setEditId(p.ID);"><b class="fa fa-hover fa-plus" tooltip="Add Contact" aria-hidden="true"></b>
</a>
</td>
<td>
<div class="col-md-3">
<label>
Active/De-Active
</label>
<div ng-if="p.IsActive==true">
<switch ng-change="statusactive(p.ID,p.IsActive)" ng-model="p.IsActive" ng-init="p.IsActive = true" class="green"></switch>
</div>
<div ng-if="p.IsActive==false">
<switch ng-change="statusactive(p.ID,p.IsActive)" ng-model="p.IsActive" ng-init="p.IsActive = false" class="green"></switch>
</div>
</div>
</td>
</tr>
<tr ng-show="editId === p.ID" ng-if="editId === p.ID">
<td colspan="12" ng-include src="'assets/views/addcontact.html'"></td>
</tr>
</tbody>
</table>
<dir-pagination-controls max-size="10" direction-links="true" boundary-links="true">
</dir-pagination-controls>
</tab>
</tabset>
</div>
</div>
</div>
</div>
<!-- end: SEND SMS -->
<section id="page-title">
<div class="row">
<!--<div class="col-sm-8">
<h1 class="mainTitle" translate="sidebar.nav.profile.MAIN">{{ mainTitle }}</h1>
</div>
<div ncy-breadcrumb></div>-->
</div>
</section>