Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @model Sprinx.Crm.Web.Models.Dashboard.Model
- @{
- ViewBag.Title = "Dashboard";
- Layout = "~/Views/Shared/_SimpleLayout.cshtml";
- }
- <div class="option-row clearfix option-row-dashboard" style="line-height: 34px; padding-right: 30px;">
- <div class="col-sm-offset-0 col-lg-1" id="tabContainer"><b>Tab </b><b id="tabNumber">0</b> <b id="savingIndicator" style="display: none;">Saving</b></div>
- <div class="col-sm-4 col-lg-1" id="phoneContainer" style="display:none">
- <i class="fa fa-phone"></i> @Model.DisplayPhone
- </div>
- <div class="col-sm-4 col-lg-1" id="timerContainer" style="display:none">
- <i class="fa fa-clock-o"></i> <span class="timer-display"></span>
- </div>
- <div class="pull-right">
- <a class="btn btn-sm btn-default j-showSearchPanel"><i class="fa fa-search"></i> Search</a>
- @*<a class="btn btn-sm btn-default j-searchMoreLink"><i class="fa fa-search-plus"></i> Advanced search</a>*@
- <a class="btn btn-sm btn-default j-show-serviceTool"><i class="fa fa-search"></i> Service Tool</a>
- <a class="btn btn-sm btn-default j-hideSearch"><i class="fa-eye-slash fa"></i> Hide search</a>
- <a class="btn btn-sm btn-default" href="@Url.Content(" ~/Dashboard/Personal")"><i class="fa fa-user"></i> Personal</a>
-
- <a class="btn btn-sm btn-default j-sessions"> Autosave</a>
-
- <a class="btn btn-sm btn-info j-extendColumn extend-252" title="25/50/25"><i class="ci ci-layout-252"></i></a>
- <a class="btn btn-sm btn-default j-extendColumn extend-441" title="45/50/5"><i class="ci ci-layout-441"></i></a>
- <a class="btn btn-sm btn-default j-extendColumn extend-144" title="5/50/45"><i class="ci ci-layout-144"></i></a>
- <a class="btn btn-sm btn-default j-extendColumn extend-118" title="5/5/90"><i class="ci ci-layout-118"></i></a>
- <a class="btn btn-sm btn-default j-extendColumn extend-181" title="5/90/5"><i class="ci ci-layout-181"></i></a>
- <a class="btn btn-sm btn-default j-extendColumn extend-811" title="90/5/5"><i class="ci ci-layout-811"></i></a>
- </div>
- </div>
- <div class="dashboard">
- @using (Html.BeginForm("Index", "Dashboard", FormMethod.Post, new { @class = "dashoboardSearch" })) {
- <div id="dashboardSearchContent" class="form-horizontal j-search table-responsive" style="display: none" data-sws-attributes="style">
- <div class="j-searchPanel clearfix">
- <div class="col-lg-2">
- <div class="form-group">
- <label class="control-label" for="txtName">Name</label>
- <div>
- <input class="form-control" id="txtName" name="Name" placeholder="Name" />
- </div>
- <div class="search-history alert alert-info">
- <ul class="j-search-history-name"></ul>
- </div>
- <div class="j-browserPanel browser-panel panel panel-default" style="display: none">
- <div class="panel-body">
- <ul>
- <li><a href="#">Novák, Adam</a></li>
- <li><a href="#">Novák, Jiří</a></li>
- <li><a href="#" class="active">Novák, Jaroslav</a></li>
- <li><a href="#">Novák, Zdeněk</a></li>
- </ul>
- </div>
- </div>
- </div>
- </div>
- <div class="col-lg-2">
- <div class="form-group">
- <label class="control-label" for="txtPhone">Phone</label>
- <div>
- <input class="form-control" id="txtPhone" name="Phone" placeholder="Phone" value="@Model.SearchPhone" />
- </div>
- <div class="search-history alert alert-info">
- <ul class="j-search-history-phone"></ul>
- </div>
- <div class="j-browserPanel browser-panel panel panel-default" style="display: none">
- <div class="panel-body">
- <ul>
- <li><a href="#" class="active">+420 777 521 123</a></li>
- </ul>
- </div>
- </div>
- </div>
- </div>
- <div class="col-lg-2">
- <div class="form-group">
- <label class="control-label" for="txtEmail">E-mail</label>
- <div>
- <input class="form-control" id="txtEmail" name="Email" placeholder="E-mail" />
- </div>
- <div class="search-history alert alert-info">
- <ul class="j-search-history-email"></ul>
- </div>
- <div class="j-browserPanel browser-panel panel panel-default" style="display: none">
- <div class="panel-body">
- <ul>
- <li><a href="#" class="active">jaroslav.novak@novak.cz</a></li>
- </ul>
- </div>
- </div>
- </div>
- </div>
- <div class="col-lg-2">
- <div class="form-group">
- <label class="control-label" for="txtState">Address</label>
- <div>
- <input class="form-control" id="txtState" name="State" placeholder="Address" />
- </div>
- <div class="search-history alert alert-info">
- <ul class="j-search-history-state"></ul>
- </div>
- <div class="j-browserPanel browser-panel panel panel-default" style="display: none">
- <div class="panel-body">
- <ul>
- <li><a href="#" class="active">Česká republika</a></li>
- </ul>
- </div>
- </div>
- </div>
- </div>
- <div class="col-lg-2 j-searchMore" style="display: none">
- <div class="form-group">
- <label class="control-label" id="txtZip">ZIP</label>
- <div>
- <input class="form-control" id="txtZip" placeholder="ZIP" />
- </div>
- <div class="search-history alert alert-info">
- <ul class="j-search-history-zip"></ul>
- </div>
- <div class="j-browserPanel browser-panel panel panel-default" style="display: none">
- <div class="panel-body">
- <ul>
- <li><a href="#">120 00</a></li>
- </ul>
- </div>
- </div>
- </div>
- </div>
- <div class="col-lg-2">
- <div class="form-group">
- <label class="control-label" for="txtRepairId">Ref. No (Rep, SN, MOVEX, SAP)</label>
- <div>
- <input class="form-control" id="txtRepairId" name="RepairId" placeholder="Reference Number" />
- </div>
- <div class="search-history alert alert-info">
- <ul class="j-search-history-repairId"></ul>
- </div>
- <div class="j-browserPanel browser-panel panel panel-default" style="display: none">
- <div class="panel-body">
- <ul>
- <li><a href="#">57227373</a></li>
- <li><a href="#" class="active">45763852</a></li>
- </ul>
- </div>
- </div>
- </div>
- </div>
- <div class="col-lg-2">
- <div class="form-group">
- <label class="control-label" for="caseId">Case ID</label>
- <div>
- <input class="form-control" id="caseId" name="CaseId" placeholder="Case ID" />
- </div>
- <div class="search-history alert alert-info">
- <ul class="j-search-history-caseId"></ul>
- </div>
- <div class="j-browserPanel browser-panel panel panel-default" style="display: none">
- <div class="panel-body">
- <ul></ul>
- </div>
- </div>
- </div>
- </div>
- <div class="col-lg-2 j-searchMore" style="display: none">
- <div class="form-group">
- <label class="control-label" for="txtOrderID">Order ID</label>
- <div>
- <input class="form-control" id="txtOrderID" placeholder="Order ID" />
- </div>
- <div class="search-history alert alert-info">
- <ul class="j-search-history-orderId"></ul>
- </div>
- <div class="j-browserPanel browser-panel panel panel-default" style="display: none">
- <div class="panel-body">
- <ul></ul>
- </div>
- </div>
- </div>
- </div>
- <div class="col-lg-2 j-searchMore" style="display: none">
- <div class="form-group">
- <label class="control-label" for="txtSerialNumber">Serial number</label>
- <div>
- <input class="form-control" id="txtSerialNumber" placeholder="Serial number" />
- </div>
- <div class="search-history alert alert-info">
- <ul class="j-search-history-serialNumber"></ul>
- </div>
- <div class="j-browserPanel browser-panel panel panel-default" style="display: none">
- <div class="panel-body">
- <ul></ul>
- </div>
- </div>
- </div>
- </div>
- <div class="col-lg-2 j-searchMore" style="display: none">
- <div class="form-group">
- <label class="control-label" for="txtVoucherId">Voucher ID</label>
- <div>
- <input class="form-control" id="txtVoucherId" placeholder="Voucher ID" />
- </div>
- <div class="search-history alert alert-info">
- <ul class="j-search-history-voucherId"></ul>
- </div>
- <div class="j-browserPanel browser-panel panel panel-default" style="display: none">
- <div class="panel-body">
- <ul></ul>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="pull-right j-searchButtons searchButtons">
- <a class="btn btn-default j-hideSearch btn-sm"><i class="fa-eye-slash fa"></i> Hide</a>
- <a class="btn btn-default j-clearForm btn-sm"><i class="fa fa-eraser"></i> Clear</a>
- <a class="btn btn-success btn-sm" id="btnSearch" data-position="top left"><i class="fa fa-search"></i> Search</a>
- </div>
- </div>
- }
- @using (Html.BeginForm("Index", "Products/ServiceOrderList", FormMethod.Post, new { @class = "ServiceToolSearch" })) {
- <div id="serviceToolSearchContent" class="j-serviceTool serviceTool-form form-horizontal row" style="display: none" data-sws-attributes="style">
- <div class="col-lg-20">
- <div class="form-group">
- <label class="control-label col-sm-6">ST Rep. no.</label>
- <div class="col-sm-6">
- <input type="text" class="form-control red-input" id="repairNumber" name="repairNumber" />
- </div>
- </div>
- <div class="form-group">
- <label class="control-label col-sm-6">ERP number (MOVEX/SAP)</label>
- <div class="col-sm-6">
- <input type="text" class="form-control red-input" id="NvxSoNumber" name="ErpNumber" />
- </div>
- </div>
- <div class="form-group">
- <label class="control-label col-sm-6">Serial number</label>
- <div class="col-sm-6">
- <input type="text" class="form-control red-input" id="serialNumber" name="serialNumber" />
- </div>
- </div>
- <div class="form-group">
- <label class="control-label col-sm-6">Product model</label>
- <div class="col-sm-6">
- <select class="form-control red-input" id="productModel" name="productModel" disabled="disabled">
- <option>Please type a product model</option>
- </select>
- </div>
- </div>
- <div class="form-group">
- <label class="control-label col-sm-6">Warranty</label>
- <div class="col-sm-6">
- <select class="form-control red-input" id="warranty" disabled="disabled">
- <option>any</option>
- </select>
- </div>
- </div>
- </div>
- <div class="col-lg-20">
- <div class="form-group">
- <label class="control-label col-sm-6">Shipment no. (ORF-CUST)</label>
- <div class="col-sm-6">
- <input type="text" class="form-control red-input" id="shipmentNumber" name="shipmentNumber" />
- </div>
- </div>
- <div class="form-group">
- <label class="control-label col-sm-6">Product status</label>
- <div class="col-sm-6">
- <select class="form-control red-input" id="productStatus" name="productStatus">
- <option value="">Any</option>
- <option>
- ARR
- </option>
- <option>
- CAN
- </option>
- <option>
- FIN
- </option>
- <option>
- REG
- </option>
- <option>
- PEN
- </option>
- <option>REP</option>
- </select>
- </div>
- </div>
- <div class="form-group">
- <label class="control-label col-sm-6">Retailer name</label>
- <div class="col-sm-6">
- <input type="text" class="form-control blue-input" id="companyName" name="companyName" />
- </div>
- </div>
- <div class="form-group">
- <label class="control-label col-sm-6">Retailer no</label>
- <div class="col-sm-6">
- <input type="text" class="form-control blue-input" id="retaulerNumber" name="retailerNumber" />
- </div>
- </div>
- <div class="form-group">
- <label class="control-label col-sm-6">Cust. refer no</label>
- <div class="col-sm-6">
- <input type="text" class="form-control blue-input" id="custReferenceNumber" name="custReferenceNumber" />
- </div>
- </div>
- </div>
- <div class="col-lg-20">
- <div class="form-group">
- <label class="control-label col-sm-6">Customer name</label>
- <div class="col-sm-6">
- <input type="text" class="form-control green-input" id="customerLastname" name="customerLastname" />
- </div>
- </div>
- <div class="form-group">
- <label class="control-label col-sm-6">Customer country</label>
- <div class="col-sm-6">
- @Html.DropDownListFor(m => m.CustomerCountry, @Model.Countries, "---", new { @class = "form-control green-input" })
- @*@Html.Partial("CountrySelector", new Sprinx.Crm.Web.Models.CountryModel { KnownCountries = Model.Countries.Select(x => x.Value), SelectedCountry = Model.CustomerCountry })*@
- @*<select class="form-control green-input" id="customerCountryx" name="customerCountryx" disabled="disabled">
- <option>All asigned countries</option>
- </select>*@
- </div>
- </div>
- <div class="form-group">
- <label class="control-label col-sm-6">Customer zip</label>
- <div class="col-sm-6">
- <input type="text" class="form-control green-input" id="customerZip" name="customerZip" />
- </div>
- </div>
- <div class="form-group">
- <label class="control-label col-sm-6">Customer city</label>
- <div class="col-sm-6">
- <input type="text" class="form-control green-input" id="customerCity" name="customerCity" />
- </div>
- </div>
- <div class="form-group">
- <label class="control-label col-sm-6">Customer street</label>
- <div class="col-sm-6">
- <input type="text" class="form-control green-input" id="customerStreet" name="customerStreet" />
- </div>
- </div>
- </div>
- <div class="col-lg-20">
- <div class="form-group">
- <label class="control-label col-sm-6">Carr. no. (CUST-ORF)</label>
- <div class="col-sm-6">
- <input type="text" class="form-control green-input" id="CustToOrfShopNo" name="CustToOrfShopNo" disabled="disabled" />
- </div>
- </div>
- <div class="form-group">
- <label class="control-label col-sm-6">Registration date</label>
- <div class="col-sm-3">
- <input type="text" class="form-control orange-input date-from" id="registrationDateFrom" name="registrationDateFrom" />
- </div>
- <div class="col-sm-3">
- <input type="text" class="form-control orange-input date-to" id="registrationDateTo" name="registrationDateTo" />
- </div>
- </div>
- <div class="form-group">
- <label class="control-label col-sm-6">Arrival date</label>
- <div class="col-sm-3">
- <input type="text" class="form-control orange-input date-from" id="arrivalDateFrom" name="arrivalDateFrom" />
- </div>
- <div class="col-sm-3">
- <input type="text" class="form-control orange-input date-to" id="arrivalDateTo" name="arrivalDateTo" />
- </div>
- </div>
- <div class="form-group">
- <label class="control-label col-sm-6">Repair date</label>
- <div class="col-sm-3">
- <input type="text" class="form-control orange-input date-from" id="repairDateFrom" name="repairDateFrom" />
- </div>
- <div class="col-sm-3">
- <input type="text" class="form-control orange-input date-to" id="repairDateTo" name="repairDateTo" />
- </div>
- </div>
- <div class="form-group">
- <label class="control-label col-sm-6">Finish date</label>
- <div class="col-sm-3">
- <input type="text" class="form-control orange-input date-from" id="finishDateFrom" name="finishDateFrom" />
- </div>
- <div class="col-sm-3">
- <input type="text" class="form-control orange-input date-to" id="finishDateTo" name="finishDateTo" />
- </div>
- </div>
- </div>
- <div class="col-lg-20">
- <div class="tar cl col-sm-12">
- <a class="btn btn-default j-clearForm btn-sm"><i class="fa fa-eraser"></i> Clear</a>
- <a class="btn btn-default j-hideSearch btn-sm"><i class="fa-eye-slash fa"></i> Hide</a>
- <a class="btn btn-success j-serviceToolSearch btn-sm"><i class="fa fa-search"></i> Search</a>
- </div>
- </div>
- </div>
- }
- <div class="modal" id="sessionsList" tabindex="-1">
- <div class="modal-dialog">
- <div class="modal-content">
- <div class="modal-header">
- <h4 class="modal-title" style="float: left">Autosave</h4>
- <a class="j-closeSessions" style="float: right">X</a>
- <div class="clearfix"></div>
- </div>
- <div class="modal-body">
- <table id="sessions"></table>
- </div>
- <div class="modal-footer">
- </div>
- </div>
- </div>
- </div>
- <div class="cl"></div>
- <div class="">
- <div class="col-sm-3 j-crmColumn j-column">
- <div class="panel panel-primary dashboard-browser row">
- <div class="panel-heading clearfix">
- <h2 class="panel-title pull-left">CRM</h2>
- <div class="pull-right">
- <div class="dropdown">
- <a href="javascript:void(0)" id="crmHistory" class="label label-info" data-toggle="dropdown"><i class="fa fa-clock-o"></i> History</a>
- <ul class="dropdown-menu" role="menu" id="crmHistory-list" aria-labelledby="crmHistory"></ul>
- </div>
- </div>
- </div>
- <div class="loading">
- <img src="~/Content/images/loading.gif" />
- </div>
- <div class="panel-body" style="height: 600px" id="dashboardCRM">
- @Html.Partial("ContactColumn", Model)
- <div id="crm-noSearchResults" style="display: none;">
- <p>No contacts found</p>
- </div>
- <input type="hidden" id="crmSearchFilter" value="" />
- <input type="hidden" id="crmState" value="" />
- <div id="serviceOrderList" class="clearfix" style="display: none">
- </div>
- </div>
- <div class="panel-footer">
- <div class="tar">
- <a href="#" class="btn btn-sm btn-default j-mergeContacts hidden" style="display: none"><i class="fa fa-group"></i> Merge contacts</a>
- <a class="btn btn-success btn-sm j-createContact"><i class="fa fa-plus-circle"></i> New Contact</a>
- <a class="btn btn-success btn-sm j-regMyOlympus"><i class="fa fa-user"></i> Reg. myOlympus</a>
- </div>
- </div>
- </div>
- </div>
- <div class="col-sm-6 j-helpdeskColumn j-column">
- <div class="panel panel-primary dashboard-browser row">
- <div class="panel-heading clearfix">
- <h2 class="panel-title" id="helpdeskTitle">Helpdesk</h2>
- </div>
- <div class="panel-body" style="height: 600px">
- <iframe src="../HD/Default.aspx" id="HelpdeskFrame" style="width: 100%; height: 580px; border: 0;"></iframe>
- <div id="crmContactDetail" class="clearfix saveworkstate" data-sws-attributes="style" style="display: none">
- <iframe id='crmIframe' data-sws-properties='width height' onload='if (typeof checkIframeWindow != "undefined") checkIframeWindow(this.contentWindow.location.pathname);'></iframe>
- </div>
- </div>
- <div class="panel-footer">
- <div class="tar">
- <a class="btn btn-info btn-sm"><i class="fa fa-search"></i> Find Contact</a>
- </div>
- </div>
- </div>
- </div>
- <div class="col-sm-3 j-knowledgebaseColumn j-column ">
- <div class="panel panel-primary dashboard-browser row">
- <div class="panel-heading clearfix">
- <h2 class="panel-title">Knowledgebase</h2>
- </div>
- <div class="panel-body reduced" id="dashboardKnowledgebase">
- <iframe id="KnowledgeBaseFrame" src="http://cz1ss024" style="width: 100%; border: 0;"></iframe>
- </div>
- <div class="panel-footer">
- <div class="tar">
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="modal fade incoming-call" id="incomingCall" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
- <div class="modal-dialog">
- <div class="modal-content">
- <div class="modal-header">
- <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
- <h4 class="modal-title" id="myModalLabel"> Incoming call</h4>
- </div>
- <div class="modal-body clearfix">
- <div class="col-sm-5 tar">
- <img src="~/Content/images/incoming_call.png" />
- </div>
- <div class="col-sm-7">
- <div class="fs32 text-primary"><strong>@Model.DisplayPhone</strong></div>
- <div class="fs28 mb30">is calling</div>
- <span class="fs24 text-primary"><strong><i class="fa fa-clock-o"></i> <span class="timer-display">0:12:21</span></strong></span> <span class="fs18"><strong>on line</strong></span>
- </div>
- </div>
- <div class="modal-footer">
- <button type="button" class="btn btn-success btn-xlg pull-left" data-dismiss="modal" aria-hidden="true"><i class="fa fa-check" data-dismiss="modal"></i> Accept</button>
- <button type="button" class="btn btn-danger btn-xlg pull-right" data-dismiss="modal" aria-hidden="true"><i class="fa fa-times" data-dismiss="modal"></i> Deny</button>
- </div>
- </div>
- </div>
- </div>
- <div class="modal fade incoming-call" id="notImplemented" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
- <div class="modal-dialog">
- <div class="modal-content">
- <div class="modal-header">
- <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
- <h4 class="modal-title" id="myModalLabel"> Not implemented</h4>
- </div>
- <div class="modal-body clearfix">
- <p class="fs24">This function is not implemented</p>
- </div>
- </div>
- </div>
- </div>
- <div class="modal fade" id="editPhone" tabindex="-1" role="dialog" aria-labelledby="editPhoneLabel" aria-hidden="true">
- <div class="modal-dialog">
- <div class="modal-content">
- <div class="modal-header">
- <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
- <h4 class="modal-title" id="editPhoneLabel"> Add phone</h4>
- </div>
- <div class="modal-body clearfix">
- <div class="input-group">
- <span class="input-group-addon"><i></i></span>
- @Html.DropDownList("phonePrefix", @Model.PhoneRegions, "---", new { @class = "chosen-select", required = "required" })
- <input id="newPhoneNumber" type="text" required class="form-control" />
- </div>
- <span id="interpretedPhone" style="display:none"></span>
- </div>
- <div class="modal-footer">
- <a href="javascript:void(0)" class="btn btn-sm btn-default" data-dismiss="modal"><i class="fa fa-times"></i> Cancel</a>
- <a href="javascript:void(0)" class="btn btn-sm btn-success j-editPhone-save"><i class="fa fa-check"></i> Save</a>
- </div>
- </div>
- </div>
- </div>
- <div class="modal fade" id="editContact" tabindex="-1" role="dialog" aria-labelledby="editContactLabel" aria-hidden="true">
- <div class="modal-dialog">
- <div class="modal-content">
- <div class="modal-header">
- <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
- <h4 class="modal-title" id="editContactLabel"> Add email</h4>
- </div>
- <div class="modal-body clearfix">
- <div class="input-group">
- <span class="input-group-addon"><i></i></span>
- <input type="email" required class="form-control" />
- </div>
- </div>
- <div class="modal-footer">
- <a href="javascript:void(0)" class="btn btn-sm btn-default" data-dismiss="modal"><i class="fa fa-times"></i> Cancel</a>
- <a href="javascript:void(0)" class="btn btn-sm btn-success j-editContact-save"><i class="fa fa-check"></i> Save</a>
- </div>
- </div>
- </div>
- </div>
- <div class="modal fade" id="editName" tabindex="-1" role="dialog" aria-labelledby="editNameLabel" aria-hidden="true">
- <div class="modal-dialog">
- <div class="modal-content">
- <div class="modal-header">
- <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
- <h4 class="modal-title" id="editNameLabel">Edit Name</h4>
- </div>
- <div class="modal-body clearfix">
- <div class="form-group">
- <label class="control-label col-sm-5">First name:</label>
- <div class="col-sm-7">
- <input type="text" name="first-name" class="form-control" />
- </div>
- <label class="control-label col-sm-5">Last name:</label>
- <div class="col-sm-7">
- <input type="text" name="last-name" class="form-control" />
- </div>
- <label class="control-label col-sm-5">Files as:</label>
- <div class="col-sm-7">
- <input type="text" name="fileas-name" required class="form-control" />
- </div>
- </div>
- </div>
- <div class="modal-footer">
- <a href="javascript:void(0)" class="btn btn-sm btn-default" data-dismiss="modal"><i class="fa fa-times"></i> Cancel</a>
- <a href="javascript:void(0)" class="btn btn-sm btn-success j-editName-save"><i class="fa fa-check"></i> Save</a>
- </div>
- </div>
- </div>
- </div>
- <div class="modal fade" id="editAddress" tabindex="-1" role="dialog" aria-labelledby="editAddressLabel" aria-hidden="true">
- <div class="modal-dialog">
- <div class="modal-content">
- <div class="modal-header">
- <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
- <h4 class="modal-title" id="editAddressLabel"> Edit Address</h4>
- </div>
- <div class="modal-body clearfix">
- <div class="form-group">
- <label class="control-label col-sm-5">Street</label>
- <div class="col-sm-7">
- <input type="text" class="form-control" name="street" required />
- </div>
- <label class="control-label col-sm-5">City:</label>
- <div class="col-sm-7">
- <input type="text" class="form-control" name="city" required />
- </div>
- <label class="control-label col-sm-5">ZIP:</label>
- <div class="col-sm-4">
- <input type="text" class="form-control" name="zip" required />
- </div>
- <label class="control-label col-sm-5">Country:</label>
- <div class="col-sm-7">
- @Html.DropDownListFor(m => m.CustomerCountry, @Model.StdCountries, "---", new { @class = "form-control", required = "required" })
- </div>
- </div>
- </div>
- <div class="modal-footer">
- <a href="javascript:void(0)" class="btn btn-sm btn-default" data-dismiss="modal"><i class="fa fa-times"></i> Cancel</a>
- <a href="javascript:void(0)" class="btn btn-sm btn-success j-editAddress-save"><i class="fa fa-check"></i> Save</a>
- </div>
- </div>
- </div>
- </div>
- @Scripts.Render("~/bundles/jquery")
- @section Scripts {
- <script src="~/Scripts/jquery.nicescroll.js"></script>
- <script src="~/Scripts/jquery.cookie.js"></script>
- <script src="~/Scripts/jquery.datepicker.min.js"></script>
- <script src="~/Scripts/Sprinx/category-ui-controller.js"></script>
- <script>
- function timerUpdater() {
- var diff = Math.floor((new Date().getTime() - CallInformation.callStartUtcTimestamp) /1000);
- var hours = Math.floor(diff /3600);
- var rem = diff % 3600;
- var mins = Math.floor(rem /60);
- var sec = rem % 60;
- var result = new String(sec);
- if (result.length < 2) {
- result = ":0" + result;
- }
- else {
- result = ":" + result;
- }
- result = mins + result;
- if (result.length < 5)
- {
- result = hours + ":0" + result;
- }
- else
- {
- result = hours + ":" + result;
- }
- $(".timer-display").text(result);
- }
- var CallInformation = {
- incommingCall : @Model.IncommingCall.ToString().ToLower(),
- callStartUtcTimestamp : @Model.CallStartUtcTimestamp * 1000,
- searchPhone : "@Model.SearchPhone",
- phone : "@Model.DisplayPhone",
- callId: "@Model.CallId"
- };
- $(window).load(function () {
- if (CallInformation.incommingCall) {
- $("#HelpdeskFrame").attr("src", "../HD/Detail.aspx?GridViewID=8&source=call_in&phone=" + encodeURIComponent(CallInformation.phone) + "&ccx=" + encodeURIComponent(CallInformation.callId));
- $("#HelpdeskFrame").one("load", function() {
- $("#phoneContainer").show();
- $("#timerContainer").show();
- $(".j-search").show();
- timerUpdater();
- window.setInterval(timerUpdater, 500);
- //$('#incomingCall').modal('show');
- $("#btnSearch").trigger("click", [null, {blockHDUpdate: true}]);
- });
- }
- setDashboardHeight("default");
- });
- if ($.cookie("dashboardCrmHistory") != undefined) {
- var cookieHistory_arr = JSON.parse($.cookie("dashboardCrmHistory"));
- $.each(cookieHistory_arr.reverse(), function (index, value) {
- $("#crmHistory-list").append("<li><a data-breadcrumbs='" + JSON.stringify(value.item.breadcrumbs) + "' href='" + value.item.url + "' class='j-dashboardLink'>" + value.item.name + "</a>");
- });
- }
- else {
- var cookieHistory_arr = [];
- }
- $(".j-mergeContacts").click(function () {
- if ($(this).hasClass("btn-success")) {
- $("#notImplemented").modal('show');
- }
- else {
- return false;
- }
- });
- $(".j-hideSearch").click(function () {
- $(".j-search, .j-serviceTool, .j-fulltextPanel").hide();
- setDashboardHeight("default");
- });
- $(".j-showSearchPanel").click(function () {
- $(".j-search").show();
- $(".j-serviceTool").hide();
- $(".j-searchMorePanel, .j-fulltextPanel").hide();
- $(".j-searchPanel").removeAttr("style");
- $(".j-searchPanel .col-lg-2").removeAttr("style");
- $(".j-searchMore, .j-browserPanel").hide();
- $(".j-searchButtons").show();
- setDashboardHeight("search");
- $(".dashboard-browser .panel-body").getNiceScroll().resize();
- });
- $(".j-clearForm").click(function () {
- $(".j-search input, .j-serviceTool input").val("");
- });
- $(".j-sessions").click(function() {
- clearSessionsList();
- $("#sessionsList").toggle();
- loadSessionsList();
- });
- $(".j-closeSessions").click(function() {
- $("#sessionsList").hide();
- })
- $(".dashboard-browser .panel-body").niceScroll({
- spacebarenabled: false
- });
- window.onload = function () {
- // Get the window displayed in the iframe.
- var receiver = document.getElementById('HelpdeskFrame').contentWindow;
- // Get a reference to the 'Send Message' button.
- var btn = document.getElementById('btnSearch');
- // A function to handle sending messages.
- function sendMessage(e) {
- // Prevent any default browser behaviour.
- e.preventDefault();
- var pass_data = {
- 'name': document.getElementById('txtName').value,
- 'orderID': document.getElementById('txtOrderID').value
- };
- // Send a message to the receiver window.
- receiver.postMessage(pass_data, '@(Request.Url.GetLeftPart(UriPartial.Scheme | UriPartial.Authority))', parent);
- $.ajax({
- url: '@Url.Action("ContactColumn")?Name=' + escape($("#txtName").val()),
- datatype: 'html',
- success: function (data) {
- $("#dashboardCRM").html(data).append("<div id=\"crmContactDetail\" style=\"display: none\"></div>");
- }
- });
- }
- window.postMessagesOrigin = '@(Request.Url.GetLeftPart(UriPartial.Scheme | UriPartial.Authority))';
- // Add an event listener that will execute the sendMessage() function
- // when the send button is clicked.
- btn.addEventListener('click', sendMessage);
- window.sessionID = '';
- window.tabNumber = 0;
- window.saveNumber = -1;
- window.saveHistoryLength = 5;
- window.displayHistoryLength = 5;
- var rootUrl = [window.location.protocol, '//', window.location.host, window.location.pathname].join('');
- var post_createSession = {rooturl: rootUrl};
- $.post(actionCreateSession, post_createSession, function(data) {
- window.sessionID = data.sessionid;
- window.tabNumber = data.tabnumber;
- window.saveNumber = 0;
- $('#tabNumber').html(window.tabNumber);
- window.setInterval(sendMessageSaveWorkStateToAll, 20000);
- });
- //sendMessageLoadWorkStateToAll(null);
- }
- function clearSessionsList() {
- $('#sessions').html("");
- }
- function toggleSessionWorkStates(sessionId) {
- $('.wsItem').filter('[data-ws-sessionId='+sessionId+']').toggle();
- $('.wsItem').filter('[data-ws-sessionId!='+sessionId+']').hide();
- }
- function loadSessionsList() {
- var rootUrl = [window.location.protocol, '//', window.location.host, window.location.pathname].join('');
- var req = {
- rooturl: rootUrl,
- };
- $.ajax({
- url: actionListSessions,
- data: JSON.stringify(req),
- method: 'POST',
- dataType: 'json',
- contentType: 'application/json; charset=UTF-8',
- success: function(data) {
- clearSessionsList();
- $('#sessions').append('<tr><th> </th><th>Created </th><th>Username </th><th>Tab Number </th><th>Contact </th><th>Case ID </th><th>Message ID </th><th>Interaction </th><th>HD Scenario </th></tr>');
- var rowClass='odd';
- $.each(data, function(index, s) {
- if (window.top.sessionID && (s.sessionid.toLowerCase() == window.top.sessionID.toLowerCase())) {
- return;
- }
- var del = "deleteSession('" + s.sessionid + "'); return false;";
- //var click = "loadSession('" + s.sessionid + "'); return false;";
- var click = "toggleSessionWorkStates('" + s.sessionid + "'); return false;";
- var sessionDate = dateFormat(s.createdat, "yyyy/mm/dd HH:MM:ss");
- //$('#sessions').append('<tr class="' + rowClass + '"><td><a onClick="' + del + '">X</a> </td><td><a onClick="' + click + '">' + sessionDate + '</a> </td><td>' + s.username + ' </td><td>' + s.tabnumber + ' </td><td>' + contactName + ' </td><td>' + caseId + ' </td><td>' + messageId + ' </td><td>' + interactionType + ' </td></tr>');
- $('#sessions').append('<tr class="' + rowClass + '"><td><a href="#" class="wsSessionDelete" onClick="' + del + '">X</a> </td><td><a href="#" onClick="' + click + '">' + sessionDate + '</a> </td><td>' + s.username + ' </td><td>' + s.tabnumber + ' </td><td>' + '' + ' </td><td>' + '' + ' </td><td>' + '' + ' </td><td>' + '' + ' </td><td>' + '' + ' </td></tr>');
- $.each(s.workstatesinfo, function(ws_index, ws) {
- var contactName = "";
- var wsDate = dateFormat(ws.createdat, "yyyy/mm/dd HH:MM:ss");
- if (ws.info) {
- if (ws.info.contactname) {
- contactName = ws.info.contactname;
- }
- if (!contactName && ws.info.crmsearchfilter) {
- try {
- var crmSearchFilter = JSON.parse(ws.info.crmsearchfilter);
- if (crmSearchFilter.Phone) {
- contactName = crmSearchFilter.Phone;
- }
- } catch(ex) {
- }
- }
- }
- var caseId = "";
- var messageId = "";
- var interactionType = "";
- var hdScenario = "";
- if (ws.hdinfo) {
- var hdInfo = JSON.parse(ws.hdinfo);
- if (hdInfo.RecordId) {
- caseId = hdInfo.RecordId;
- }
- if (hdInfo.RecordEntryId) {
- messageId = hdInfo.RecordEntryId;
- }
- if (hdInfo.MessageType) {
- interactionType = hdInfo.MessageType;
- }
- if (hdInfo.Scenario) {
- hdScenario = hdInfo.Scenario;
- }
- }
- if ((hdScenario == 'NewCase') && caseId && (caseId != '')) {
- hdScenario = "CaseDetail";
- }
- var wsClick = "loadSession('" + s.sessionid + "', " + ws.savenumber + "); return false;";
- var row = $('<tr class="' + rowClass + ' wsItem" data-ws-sessionId="' + s.sessionid + '"><td> </td><td><a href="#" onClick="' + wsClick + '">' + wsDate + '</a> </td><td>' + s.username + ' </td><td>' + s.tabnumber + ' </td><td>' + contactName + ' </td><td>' + caseId + ' </td><td>' + messageId + ' </td><td>' + interactionType + ' </td><td>' + hdScenario + ' </td></tr>').hide();
- $('#sessions').append(row);
- });
- if (rowClass == 'odd') {
- rowClass = 'even';
- } else if (rowClass == 'even') {
- rowClass = 'odd';
- }
- });
- },
- });
- }
- function loadSession(sessionId, saveNumber) {
- $('#sessionsList').hide();
- sendMessageLoadWorkStateToAll(null, sessionId, saveNumber);
- }
- function deleteSession(sessionId) {
- var req = {
- sessionid: sessionId,
- };
- $.ajax({
- url: actionDeleteWorkState,
- data: JSON.stringify(req),
- method: 'POST',
- dataType: 'json',
- contentType: 'application/json; charset=UTF-8',
- success: function(data) {
- clearSessionsList();
- loadSessionsList();
- },
- });
- }
- var searchHistory = [];
- function addSearchHistoryEntry (containerSelector, text) {
- if (!text) return;
- var $matching = $(containerSelector + " li a:contains('" + text + "')");
- if ($matching.length == 0) {
- $(containerSelector).append("<li><a href='javascript:void(0)'>" + text + "</a><span><a href='javascript:void(0)' class='j-remove-name'><i class='fa fa-times'></i></a></span></li>");
- }
- }
- $("#btnSearch").click(function (e, extData, options) {
- var allowHDUpdate = true;
- if (options) {
- if (options.blockHDUpdate) {
- allowHDUpdate = false;
- }
- }
- $("#crm-noSearchResults, #serviceOrderList").hide();
- /* Search History */
- $name = $("#txtName").val();
- $phone = $("#txtPhone").val();
- $email = $("#txtEmail").val();
- $state = $("#txtState").val();
- $repairId = $("#txtRepairId").val();
- $caseId = $("#caseId").val();
- if($name == "" && $phone == "" && $email == "" && $state == "" && $repairId == "" && $caseId == "") {
- $("#crm-noSearchResults").show();
- showErrorMessage("Fill the search parameters");
- return false;
- }
- $(".search-history").show();
- addSearchHistoryEntry(".j-search-history-name", $name);
- addSearchHistoryEntry(".j-search-history-phone", $phone);
- addSearchHistoryEntry(".j-search-history-email", $email);
- addSearchHistoryEntry(".j-search-history-state", $state);
- addSearchHistoryEntry(".j-search-history-repairId", $repairId);
- addSearchHistoryEntry(".j-search-history-caseId", $caseId);
- $(".search-history ul").each(function() {
- if(!$(this).find("li").length) {
- $(this).parent().hide();
- }
- });
- $(".search-history ul li a").click(function () {
- $(this).closest(".form-group").find("input").val($(this).text());
- $(this).closest(".form-group").find("input").focus();
- });
- $(".j-crmColumn .panel-footer .j-dashboardHelpdesk").remove();
- $caseID = $("#caseId").val();
- var hdPath = document.getElementById("HelpdeskFrame").contentWindow.location.pathname;
- var rec = new URI(document.getElementById("HelpdeskFrame").contentWindow.location).search(true)['Rec'];
- if (!((/\/HD\/Detail.aspx$/i.test(hdPath)) || (/\/HD\/CommentWindow.aspx$/i.test(hdPath)))) {
- var helpdeskUrl = "../HD/Default.aspx?GridViewID=3";
- if ($caseID.length) {
- helpdeskUrl += "&caseid=" + $caseID;
- }
- if ($name.length) {
- helpdeskUrl += "&name=" + $name;
- }
- if ($phone.length) {
- helpdeskUrl += "&phone=" + $phone;
- }
- if ($email.length) {
- helpdeskUrl += "&email=" + $email;
- }
- if ($repairId.length) {
- helpdeskUrl += "&repaired=" + $repairId;
- }
- if (allowHDUpdate) {
- $(".j-helpdeskColumn iframe").attr("src", helpdeskUrl);
- }
- }
- var $thisUrl = '@Url.Content("~/Dashboard/")';
- //var $thisName = $(this).find("h3").text().trim();
- var $data = {};
- $(this).closest("form").find("input").each(function (index, element) {
- var n = $(element).attr("name");
- var v = $(element).val();
- if (typeof (n) == "undefined" || typeof (v) == "undefined") {
- return;
- }
- $data[n] = v;
- });
- if (extData) {
- $data = extData;
- }
- // $.removeCookie('dashboardCrmBreadcrumbs', "/Dashboard");
- $("#crmSearchFilter").val(JSON.stringify($data));
- $('#crmState').val('contact_search');
- if($name == "" && $phone == "" && $email == "" && $repairId == "" && $state == "") {
- $("#crm-noSearchResults").show();
- $("#crmContactDetail").empty();
- return;
- }
- else {
- $(".dashboard-browser .loading").show();
- $.ajax({
- type: "POST",
- url: $thisUrl,
- data: $data,
- success: function (data) {
- var $dom = $(data);
- if(!$dom.find("#crmList li").length) {
- $("#crm-noSearchResults").show();
- $("#crmContactDetail").empty();
- renderContactDetail($dom, $thisUrl);
- return;
- }
- $("#crmList").html($dom.find("#crmList").html());
- if($("#crmList li").length > 200) {
- $("#crmList").prepend("<li><div class='alert alert-warning'>Search contains more than 200 results</div></li>");
- }
- //$("#crmContactDetail").hide();
- $("#crmList, .j-mergeContacts").show();
- $("#dashboardCRM").getNiceScroll().resize();
- $('input.icheck').iCheck({
- checkboxClass: 'icheckbox_flat',
- radioClass: 'iradio_flat'
- });
- contactDetail();
- $(".dashboard-browser .loading").hide();
- $("#crmList .iCheck-helper").click(function () {
- if ($("#crmList .icheckbox_flat.checked").length > 1) {
- $(".j-mergeContacts").removeClass("btn-default").addClass("btn-success");
- }
- else {
- $(".j-mergeContacts").removeClass("btn-success").addClass("btn-default");
- }
- });
- },
- dataType: "html"
- });
- }
- $('.j-remove-name').click(function () {
- $thisValue = $(this).parent().prev().text();
- if(!$(this).closest("li").siblings().length) {
- $(this).closest(".search-history").hide();
- }
- if($(this).closest("ul.j-search-history-name").length) {
- searchHistory = $.grep(searchHistory, function (el) {
- if(el.name == $thisValue) {
- return el.name == "";
- }
- });
- }
- else if ($(this).closest("ul.j-search-history-phone").length) {
- searchHistory = $.grep(searchHistory, function (el) {
- if(el.phone == $thisValue) {
- return el.phone == "";
- }
- });
- }
- else if ($(this).closest("ul.j-search-history-email").length) {
- searchHistory = $.grep(searchHistory, function (el) {
- if(el.email == $thisValue) {
- return el.email == "";
- }
- });
- }
- else if ($(this).closest("ul.j-search-history-state").length) {
- searchHistory = $.grep(searchHistory, function (el) {
- if(el.state == $thisValue) {
- return el.state = "";
- }
- });
- }
- else if ($(this).closest("ul.j-search-history-repairId").length) {
- searchHistory = $.grep(searchHistory, function (el) {
- if(el.repairId == $thisValue) {
- return el.repairId == "";
- }
- });
- }
- else if ($(this).closest("ul.j-search-history-caseId").length) {
- searchHistory = $.grep(searchHistory, function (el) {
- if(el.caseId == $thisValue) {
- return el.caseId == "";
- }
- });
- }
- $(this).closest("li").remove();
- });
- });
- function renderContactDetail ($dom, $thisUrl) {
- $("#crmContactDetail").html("<div class='pull-left'><div class='back'><a class='label label-danger j-backHistory'><i class='fa fa-arrow-circle-left'></i> Back</a><div class='list j-history-list' style='display: none'><ul class='dashboard-breadcrumbs'></ul><h3><a href='javascript:void(0)' class='j-back'>Search Results</a></h3><ul class='searchResults'></ul></div></div></div><div class='pull-right'></div></div><div class='detail-contact clearfix'>" + $dom.find(".dashboard-inner").html() + $dom.find(".scripts-needed").html() + "</div>");
- ko.cleanNode($("#crmContactDetail")[0]);
- $("#helpdeskTitle").html("Contact");
- ko.applyBindings(olympusViewModel, $("#crmContactDetail")[0]);
- var $thisName = $dom.find("#extPersonName").val();
- var $thisGuid = $dom.find("#extPersonId").val();
- $('#extPersonUrl').val($thisUrl);
- $('#crmState').val('contact_detail');
- var thisArray = { 'item': { 'name': $dom.filter("title").text(), 'url': $thisUrl, 'breadcrumbs': [{ 'name': $dom.filter("title").text(), 'url': $thisUrl }] } };
- var json_str = JSON.stringify(thisArray);
- $.cookie("dashboardCrmBreadcrumbs", JSON.stringify(thisArray.item.breadcrumbs));
- if ($.cookie("dashboardCrmHistory") === undefined) {
- $.cookie("dashboardCrmHistory", "[" + json_str + "]");
- var cookieHistory_arr = [];
- cookieHistory_arr.push(thisArray);
- }
- else {
- cookieHistory_str = $.cookie("dashboardCrmHistory");
- cookieHistory_arr = JSON.parse(cookieHistory_str);
- cookieHistory_arr = $.grep(cookieHistory_arr, function (el) {
- return el.item.url != thisArray.item.url;
- });
- cookieHistory_arr.push(thisArray);
- $.cookie("dashboardCrmHistory", JSON.stringify(cookieHistory_arr));
- }
- //<div class='breadcrumbs'><span>" + $thisName + "<span> <a class='btn btn-default back'>Zpět</a></div>
- /*
- $.each(item_cookie, function (index, value) {
- $(".dashboard-breadcrumbs").append("<li><a href='" + value.url + "' class='j-dashboardLink'>" + value.name + "</a>");
- }); */
- $("#crmHistory-list").empty();
- $.each(cookieHistory_arr.reverse(), function (index, value) {
- $("#crmHistory-list").append("<li><a data-breadcrumbs='" + JSON.stringify(value.item.breadcrumbs) + "' href='" + value.item.url + "' class='j-dashboardLink j-historyLink'>" + value.item.name + "</a>");
- });
- $("#crmContactDetail").show();
- $(".j-mergeContacts, #HelpdeskFrame").hide();
- $("#dashboardCRM").getNiceScroll().resize();
- $(".j-dashboardHelpdesk, .j-joinWithCase").remove();
- $(".j-crmColumn .panel-footer div").prepend("<a class='btn btn-info btn-sm j-joinWithCase' id='joinWithCase'><i class='fa fa-chain'></i> Join with Case</a>");
- $(".j-helpdeskColumn .panel-footer div").prepend("<a href='../HD/Detail.aspx?guid=" + $thisGuid + "&name=" + $thisName + "' class='btn btn-success btn-sm j-dashboardHelpdesk j-newHelpdeskCase'><i class='fa fa-plus-circle'></i> New Case</a>");
- $(".j-history-list").hide();
- $(".searchResults").empty();
- if ($("#crmList li").length > 9) {
- $(".searchResults").append($("#crmList li:first-child").nextUntil(":nth-child(11)").andSelf().clone());
- $(".searchResults").append("<li class='clearfix footer-list tac'><a href='javascript:void(0)' class='j-back'><i class='ci ci-more-horiz'></i></a></li>");
- }
- else {
- $(".searchResults").append($("#crmList").clone().html());
- }
- switch (true) {
- case $thisUrl.indexOf("/Person/Create") > -1:
- $(".j-newHelpdeskCase, .j-joinWithCase, #dashboardCRM .option-row").show();
- $(".j-mergeContacts, .j-joinWithCase, .j-newHelpdeskCase, .j-backHistory").hide();
- break;
- case $thisUrl.indexOf("/Product/ServiceOrderDetail") > -1:
- $(".j-mergeContacts, .j-newHelpdeskCase").hide();
- $(".j-joinWithCase").show();
- break;
- }
- setTimeout(function () {
- $(".dashboard-browser .loading").hide();
- }, 500);
- function verifyContact(e, result) {
- var popover = $(e).closest(".detail-contact").find(".popover");
- popover.toggle();
- switch (true) {
- case result == "verified":
- popover.removeClass("danger warning").addClass("success");
- popover.find(".popover-content").text("Verified");
- break;
- case result == "error":
- popover.removeClass("success warning").addClass("danger");
- popover.find(".popover-content").text("Error");
- break;
- case result == "notVerified":
- popover.removeClass("success warning").addClass("warning");
- popover.find(".popover-content").text("Not verified");
- break;
- }
- }
- // $("#crmHistory").hide();
- // $("#joinWithCase").show();
- dashboardBack();
- dashboardLink();
- dashboardFunctions();
- }
- function loadContactDetail(elem, extData) {
- $(".dashboard-browser .loading").show();
- $(".j-mergeContacts, .j-joinWithCase, .j-newHelpdeskCase, #crm-noSearchResults").hide();
- var $thisUrl = null;
- if (extData && extData.href) {
- $thisUrl = extData.href;
- }
- else {
- $thisUrl = $(elem).attr("data-href");
- }
- // $.removeCookie('dashboardCrmBreadcrumbs');
- $.ajax({
- 'url': $thisUrl,
- 'type': 'get',
- 'dataType': 'html',
- 'async': false,
- 'success': function (data) {
- var $dom = $(data);
- renderContactDetail($dom, $thisUrl);
- }
- });
- }
- function contactDetail() {
- $(".ajax-loadCrmContact").click(function (e, extData) {
- loadContactDetail(this, extData);
- });
- return;
- }
- function dashboardBack() {
- $("#crmContactDetail .j-back").click(function () {
- $("#crmContactDetail").hide();
- $("#crmList, .j-mergeContacts").show();
- $("#dashboardCRM").getNiceScroll().resize();
- // $.removeCookie("dashboardCrmBreadcrumbs");
- $(".j-crmColumn .panel-footer .j-dashboardHelpdesk, .j-crmColumn .panel-footer .j-joinWithCase").remove();
- });
- return false;
- }
- function dashboardFunctions() {
- var $thisType = null;
- $(".j-editContact").click(function () {
- var $modal = $("#editContact .input-group");
- var $thisType = $(this).data("type");
- var $thisCaption = $(this).data("caption");
- var $this = $(this);
- $modal.find("i").removeAttr("class");
- $modal.find("i").addClass("fa fa-" + $thisType);
- $modal.find("input").val($thisCaption).parent().removeClass("has-error");
- //var $thisUrl = JSON.parse($.cookie("dashboardCrmBreadcrumbs"));
- //$thisUrl = $thisUrl[$thisUrl.length - 1].url
- $modal = $("#editContact .j-editContact-save"); //.attr("data-href", $thisUrl);
- });
- $(".j-editPhone").click(function () {
- var $modal = $("#editPhone .input-group");
- $thisType = $(this).data("type");
- var $thisCaption = $(this).data("caption");
- var $this = $(this);
- $modal.find("i").removeAttr("class");
- $modal.find("i").addClass("fa fa-" + $thisType);
- $modal.find("input[type=text]").val($thisCaption);
- //var $thisUrl = JSON.parse($.cookie("dashboardCrmBreadcrumbs"));
- //$thisUrl = $thisUrl[$thisUrl.length - 1].url
- $modal = $("#editPhone .j-editPhone-save"); //.attr("data-href", $thisUrl);
- });
- $(".j-editName").click(function () {
- //var $thisUrl = JSON.parse($.cookie("dashboardCrmBreadcrumbs"));
- //$thisUrl = $thisUrl[$thisUrl.length - 1].url
- $this = $(this);
- $modal = $("#editName");
- $modal.find("i").removeAttr("class");
- $modal.find("input[name=first-name]").val($(this).data("fn")).parent().removeClass("has-error");
- $modal.find("input[name=last-name]").val($(this).data("ln")).parent().removeClass("has-error");
- $modal.find("input[name=fileas-name]").val($(this).data("name"));
- $modal = $("#editName .j-editName-save"); //.attr("data-href", $thisUrl);
- });
- // window.onload = function () {
- // Get the window displayed in the iframe.
- var receiver = document.getElementById('HelpdeskFrame').contentWindow;
- // Get a reference to the 'Send Message' button.
- var btn = document.getElementById('joinWithCase');
- // A function to handle sending messages.
- function sendMessage(e) {
- // Prevent any default browser behaviour.
- e.preventDefault();
- var doc = document;
- if (!doc.getElementById('extCustomerName')) {
- var iFrame = document.getElementById('crmIframe');
- doc = iFrame.contentWindow || iFrame.contentDocument;
- if (doc.document) {
- doc = doc.document;
- }
- }
- var pass_data = {
- 'customerName': doc.getElementById('extCustomerName').value,
- 'customerId': doc.getElementById('extCustomerId').value,
- 'personName': doc.getElementById('extPersonName').value,
- 'personId': doc.getElementById('extPersonId').value,
- };
- // Send a message to the receiver window.
- receiver.postMessage(pass_data, '@(Request.Url.GetLeftPart(UriPartial.Scheme | UriPartial.Authority))');
- }
- $(btn).click(sendMessage);
- // }
- $(".j-dashboard-hide").closest(".panel").find("> .panel-heading i.fa-chevron-up").removeClass("fa-chevron-up").addClass("fa-chevron-down");
- $(".j-dashboardHelpdesk").click(function () {
- event.preventDefault();
- $(".j-helpdeskColumn iframe").attr("src", $(this).attr("href"));
- });
- $(".j-backHistory, .j-history").click(function () {
- if (!$(this).next(".j-history-list").is(":visible")) {
- $(".j-history-list").hide();
- $(this).next(".j-history-list").show();
- }
- else {
- $(".j-history-list").hide();
- }
- });
- $(".j-backHistory").click(function () {
- if ($(".dashboard-breadcrumbs li").length <= 1) {
- $("#crmContactDetail").hide();
- $("#crmList, .j-mergeContacts").show();
- $("#dashboardCRM").getNiceScroll().resize();
- // $.removeCookie("dashboardCrmBreadcrumbs", "/Dashboard");
- $(".j-crmColumn .panel-footer .j-dashboardHelpdesk, .j-crmColumn .panel-footer .j-joinWithCase").remove();
- }
- });
- $("#dashboardCRM").getNiceScroll().doScrollPos(-20, $("#crmContactDetail").position().top);
- $('input.icheck').iCheck({
- checkboxClass: 'icheckbox_flat',
- radioClass: 'iradio_flat'
- });
- // app.init
- $("#dashboardCRM").off('click.expand');
- $("#dashboardCRM").on('click.expand', '.actions i', function () {
- if ($(this).hasClass("fa-chevron-up")) {
- $(this).removeClass("fa-chevron-up").addClass("fa-chevron-down");
- $(this).closest(".panel").find("> .panel-body").slideToggle();
- }
- else if ($(this).hasClass("fa-chevron-down")) {
- $(this).removeClass("fa-chevron-down").addClass("fa-chevron-up");
- $(this).closest(".panel").find("> .panel-body").slideToggle();
- }
- $(".dashboard-browser .panel-body").getNiceScroll().resize();
- });
- $('a[data-phone]').click(function(e) {
- var telNum = $(this).attr("data-phone");
- if (!confirm("Make a call to: " + telNum + "?")) { return; }
- e.preventDefault();
- var thisUrl = '@Url.Content("~/Home/MakePhoneCall")';
- $.ajax({
- url: thisUrl,
- type: "post",
- data: { phoneNumber : telNum },
- error: function(xhr, status, errorThrown) { alert("Could not make a call."); }
- })
- });
- regCategoryEdit();
- $("#cssAgreementContainer a").click(function () {
- var $thisUrl = '@Url.Content("~/Person/SetCssSurvey")';
- var $this = $(this);
- var rqOperation = $this.data("status") == "valid" ? "confirm" : "revoke";
- var cid = $("#extPersonId").val();
- $.ajax({
- url: $thisUrl,
- type: 'POST',
- dataType: 'json',
- context: this,
- data: {
- rqOperation: rqOperation,
- personId: cid,
- },
- error: function () {
- alert("Could not change status.");
- },
- success: function (res) {
- var $parent = $("#cssAgreementContainer");
- if (res == "agreed") {
- $parent.find('a[data-status=valid]').addClass("checked");
- $parent.find('a[data-status=invalid]').removeClass("checked");
- }
- else
- {
- $parent.find('a[data-status=valid]').removeClass("checked");
- $parent.find('a[data-status=invalid]').addClass("checked");
- }
- }
- });
- });
- $(".enabled.optIn").click(function() {
- var $this = $(this);
- var currState = $this.attr("data-state");
- if (currState == "inProgress") {
- alert ("Opti-in change request already sent");
- return;
- }
- if (confirm("Change clients opt-in status?")) {
- var $thisUrl = '@Url.Content("~/Person/ChangeOptIn")';
- var contact = $this.attr("data-caption");
- var rqState = !(currState == "optedIn");
- $.ajax({
- url: $thisUrl,
- type: "POST",
- context: this,
- data: {
- email: contact,
- requestOptIn: rqState
- },
- error: function() {
- alert("Could not change status.");
- },
- success: function() {
- $(this).find("i").css("color", "#f1c40f");
- $this.attr("data-state", "inProgress")
- alert("Opt-in change process successfuly initiated.");
- }
- });
- }
- });
- $(".enabled.passwordReset").click(function() {
- if (confirm("Reset clients password?")) {
- var $thisUrl = '@Url.Content("~/Person/ResetPassword")';
- var $this = $(this);
- var contact = $this.attr("data-caption");
- $.ajax({
- url: $thisUrl,
- type: "POST",
- context: this,
- data: {
- email: contact
- },
- error: function() {
- alert("Could not reset password.");
- },
- success: function() {
- alert("Password reset process successfuly initiated.");
- }
- });
- }
- });
- // WARNING copy of this handler exist also in Person/Detail.cshtml must be kept in sync!!!!!
- $(".validateContact a.statusValidator").click(function () {
- var $thisUrl = '@Url.Content("~/Person/SetContactStatus")';
- var $this = $(this);
- var rqOperation = $this.attr("data-status") == "valid" ? "validate" : "invalidate";
- var contact = $this.attr("data-caption");
- var contactType = $this.attr("data-c-type");
- var cid = $("#extPersonId").val();
- $.ajax({
- url: $thisUrl,
- type: 'POST',
- dataType: 'json',
- context: this,
- data: {
- rqOperation: rqOperation,
- personId: cid,
- contact : contact,
- contactType : contactType,
- },
- error: function () {
- alert("Could not change status.");
- },
- success: function (res) {
- var $parent = $(this).closest(".detail-contact-info");
- if (res.ValidatedFormatted == null) {
- $(this).removeClass("checked");
- $(this).siblings().removeClass("checked");
- $parent.find(".validatedAt").fadeOut();
- }
- else {
- $parent.find(".validatedAt").fadeIn().find("span").text(res.ValidatedFormatted);
- if (res.Valid) {
- $parent.find('a[data-status=valid]').addClass("checked");
- $parent.find('a[data-status=invalid]').removeClass("checked");
- }
- else {
- $parent.find('a[data-status=valid]').removeClass("checked");
- $parent.find('a[data-status=invalid]').addClass("checked");
- }
- }
- }
- });
- });
- regMyOlympus();
- regCategoryEdit();
- }
- function dashboardLink() {
- if(!$(".searchResults li").length) {
- $(".searchResults").hide();
- }
- $("body").on("click", ".j-dashboardLink", function (event) {
- event.preventDefault();
- return reloadLink($(this), $(this).attr("href"));
- } );
- return false;
- }
- function reloadLink($this, $thisUrl) {
- var serviceOrderLink;
- if($this.closest("#serviceOrderList").length) {
- serviceOrderLink = true;
- }
- $(".j-mergeContacts, .j-joinWithCase, .j-newHelpdeskCase, #crm-noSearchResults, #serviceOrderList").hide();
- $(".dashboard-browser .loading").show();
- if ($this.parents().is(".dashboard-breadcrumbs") && $this.parent().is(":last-child")) {
- $(".j-history-list").hide();
- $(".dashboard-browser .loading").hide();
- return false;
- }
- else {
- // var cookie_arr = [];
- var $thisMethod = "get";
- var $thisData = null;
- if (!$thisUrl) {
- $thisUrl = $this.closest("form").attr("action");
- $thisMethod = "post";
- $thisData = $this.closest("form").serialize();
- }
- switch (true) {
- case $thisUrl.indexOf("/Person/Detail") > -1:
- $(".j-newHelpdeskCase, .j-joinWithCase").show();
- $(".j-mergeContacts").hide();
- break;
- case $thisUrl.indexOf("/Product/ServiceOrderDetail") > -1:
- $(".j-mergeContacts, .j-newHelpdeskCase,").hide();
- $(".j-joinWithCase").show();
- break;
- }
- $.ajax({
- 'url': $thisUrl,
- 'type': $thisMethod,
- data: $thisData,
- 'dataType': 'html',
- 'async': false,
- 'success': function (data) {
- $("#crmContactDetail").show();
- var $dom = $(data);
- $("#crmContactDetail").html("<div class='pull-left'><div class='back'><a class='label label-danger j-backHistory'><i class='fa fa-arrow-circle-left'></i> Back</a><div class='list j-history-list' style='display: none'><ul class='dashboard-breadcrumbs'></ul><h3><a href='javascript:void(0)' class='j-back'>Search Results</a></h3><ul class='searchResults'></ul></div></div></div></div><div class='detail-contact clearfix'>" + $dom.find(".dashboard-inner").html() + "</div>");
- ko.cleanNode($("#crmContactDetail")[0]);
- ko.applyBindings(olympusViewModel, $("#crmContactDetail")[0]);
- if(serviceOrderLink) {
- $(".j-backHistory").removeClass("j-backHistory").addClass("j-back-serviceList");
- $(".j-back-serviceList").click(function () {
- $("#crmContactDetail").hide();
- $("#serviceOrderList").show();
- $("#serviceOrderList").getNiceScroll().remove();
- $("#serviceOrderList").niceScroll();
- // $("#serviceOrderList").getNiceScroll().resize();
- });
- }
- thisArray = { 'name': $dom.filter("title").text(), 'url': $thisUrl };
- var cookieBreadcrumbs_arr = [];
- if($.cookie("dashboardCrmBreadcrumbs") != undefined) {
- var cookieBreadcrumbs_str = $.cookie("dashboardCrmBreadcrumbs");
- cookieBreadcrumbs_arr = JSON.parse(cookieBreadcrumbs_str);
- var array_length = cookieBreadcrumbs_arr.length;
- var new_array_length = cookieBreadcrumbs_arr.length;
- $.map(cookieBreadcrumbs_arr, function (element, index) {
- if (element.url == thisArray.url) {
- new_array_length = index + 1;
- }
- });
- cookieBreadcrumbs_arr = $.grep(cookieBreadcrumbs_arr, function (el) {
- return el.url != thisArray.url
- });
- if (array_length == new_array_length) {
- cookieBreadcrumbs_arr.push({ 'name': $dom.filter("title").text(), 'url': $thisUrl });
- }
- else {
- cookieBreadcrumbs_arr.length = new_array_length;
- cookieBreadcrumbs_arr.push({ 'name': $dom.filter("title").text(), 'url': $thisUrl });
- }
- $.cookie("dashboardCrmBreadcrumbs", JSON.stringify(cookieBreadcrumbs_arr));
- $.each(cookieBreadcrumbs_arr, function (index, value) {
- $(".dashboard-breadcrumbs").append("<li><a href='" + value.url + "' class='j-dashboardLink'>" + value.name + "</a>");
- });
- $("#crmContactDetail .collapse-all").click(function () {
- $("#crmContactDetail .panel > .panel-body").slideUp();
- $("#crmContactDetail .panel > .panel-heading .actions i").removeClass("fa-chevron-up").addClass("fa-chevron-down");
- });
- $("#crmContactDetail .expand-all").click(function () {
- $("#crmContactDetail .panel > .panel-body").slideDown();
- $("#crmContactDetail .panel > .panel-heading .actions i").removeClass("fa-chevron-down").addClass("fa-chevron-up");
- });
- }
- // var cookieHistory_str = $.cookie("dashboardCrmHistory");
- // var cookieHistory_arr = JSON.parse(cookieHistory_str);
- cookieHistory_arr = $.grep(cookieHistory_arr, function (el) {
- return el.item.url != thisArray.url;
- });
- $.cookie("dashboardCrmHistory", JSON.stringify(cookieHistory_arr));
- thisArray = { 'item': { 'name': $dom.filter("title").text(), 'url': $thisUrl, 'breadcrumbs': cookieBreadcrumbs_arr } };
- cookieHistory_arr.push(thisArray);
- if (cookieHistory_arr.length > 20) {
- cookieHistory_arr.shift();
- }
- // item_cookie = cookieHistory_arr;
- $("#crmHistory-list").empty();
- $.each(cookieHistory_arr.reverse(), function (index, value) {
- $("#crmHistory-list").append("<li><a data-breadcrumbs='" + JSON.stringify(value.item.breadcrumbs) + "' href='" + value.item.url + "' class='j-dashboardLink'>" + value.item.name + "</a>");
- });
- $("#dashboardCRM").getNiceScroll().resize();
- $("#dashboardCRM").getNiceScroll().doScrollPos(0, $("#crmContactDetail").position().top);
- $(".j-history-list").hide();
- $(".searchResults").empty();
- if ($("#crmList li").length > 9) {
- $(".searchResults").append($("#crmList li:first-child").nextUntil(":nth-child(11)").andSelf().clone());
- $(".searchResults").append("<li class='clearfix footer-list tac'><a href='javascript:void(0)' class='j-back'><i class='ci ci-more-horiz'></i></a></li>");
- }
- else {
- $(".searchResults").append($("#crmList").clone().html());
- }
- setTimeout(function () {
- $(".dashboard-browser .loading").hide();
- }, 500);
- dashboardBack();
- dashboardLink();
- dashboardFunctions();
- contactDetail();
- $("#serviceOrderList").getNiceScroll().remove();
- function verifyContact(e, result) {
- switch (true) {
- case result == "verified":
- var popover = $(e).closest(".detail-contact").find(".popover");
- popover.toggle();
- popover.removeClass("danger warning").addClass("success");
- popover.find(".popover-content").text("Verified");
- break;
- case result == "error":
- var popover = $(e).closest(".detail-contact").find(".popover");
- popover.toggle();
- popover.removeClass("success warning").addClass("danger");
- popover.find(".popover-content").text("Error");
- break;
- case result == "notVerified":
- var popover = $(e).closest(".detail-contact").find(".popover");
- popover.toggle();
- popover.removeClass("success warning").addClass("warning");
- popover.find(".popover-content").text("Not verified");
- break;
- }
- }
- }
- });
- }
- return false;
- }
- $(".j-extendColumn").click(function () {
- $crmColumn = $(".j-crmColumn");
- $helpdeskColumn = $(".j-helpdeskColumn");
- $knowledgebaseColumn = $(".j-knowledgebaseColumn");
- $(".j-extendColumn").removeClass("btn-info").addClass("btn-default");
- $(this).removeClass("btn-default").addClass("btn-info");
- $(".j-column").removeAttr("class");
- $("#dashboardCRM").removeClass("extend");
- $("#dashboardKnowledgebase").removeClass("reduced");
- switch (true) {
- case $(this).hasClass("active"):
- $crmColumn.addClass("j-crmColumn col-sm-4 j-column");
- $helpdeskColumn.addClass("j-helpdeskColumn col-sm-4 j-column");
- $knowledgebaseColumn.addClass("j-knowledgebaseColumn col-sm-4 j-column");
- $(this).removeClass("active");
- break;
- case $(this).hasClass("extend-441"):
- $crmColumn.addClass("j-crmColumn col-cus-45 j-column");
- $helpdeskColumn.addClass("j-helpdeskColumn col-sm-6 j-column");
- $knowledgebaseColumn.addClass("j-knowledgebaseColumn col-cus-5 j-column");
- $(".j-extendColumn").removeClass("active");
- $(".dashboard-browser .extend-crm").addClass("active");
- $("#dashboardCRM").addClass("extend");
- $("#dashboardKnowledgebase").addClass("reduced");
- $(".dashboard-browser .panel-body").getNiceScroll().resize();
- break;
- case $(this).hasClass("extend-252"):
- $crmColumn.addClass("j-crmColumn col-sm-3 j-column");
- $helpdeskColumn.addClass("j-helpdeskColumn col-sm-6 j-column");
- $knowledgebaseColumn.addClass("j-knowledgebaseColumn col-sm-3 j-column reduced");
- $(".j-extendColumn").removeClass("active");
- $(".dashboard-browser .extend-helpdesk").addClass("active");
- $("#dashboardKnowledgebase").addClass("reduced");
- $(".dashboard-browser .panel-body").getNiceScroll().resize();
- break;
- case $(this).hasClass("extend-144"):
- $crmColumn.addClass("j-crmColumn col-cus-5 j-column");
- $helpdeskColumn.addClass("j-helpdeskColumn col-sm-6 j-column");
- $knowledgebaseColumn.addClass("j-knowledgebaseColumn col-cus-45 j-column reduced");
- $(".j-extendColumn").removeClass("active");
- $(".dashboard-browser .extend-knowledgebase").addClass("active");
- $(".dashboard-browser .panel-body").getNiceScroll().resize();
- break;
- case $(this).hasClass("extend-118"):
- $crmColumn.addClass("j-crmColumn col-cus-5 j-column");
- $helpdeskColumn.addClass("j-helpdeskColumn col-cus-5 j-column");
- $knowledgebaseColumn.addClass("j-knowledgebaseColumn col-cus-90 j-column");
- $(".j-extendColumn").removeClass("active");
- $(".dashboard-browser .extend-knowledgebase").addClass("active");
- $(".dashboard-browser .panel-body").getNiceScroll().resize();
- break;
- case $(this).hasClass("extend-181"):
- $crmColumn.addClass("j-crmColumn col-cus-5 j-column");
- $helpdeskColumn.addClass("j-helpdeskColumn col-cus-90 j-column");
- $knowledgebaseColumn.addClass("j-knowledgebaseColumn col-cus-5 j-column");
- $(".j-extendColumn").removeClass("active");
- $(".dashboard-browser .extend-knowledgebase").addClass("active");
- $(".dashboard-browser .panel-body").getNiceScroll().resize();
- break;
- case $(this).hasClass("extend-811"):
- $crmColumn.addClass("j-crmColumn crm-column-extend col-cus-90 j-column");
- $helpdeskColumn.addClass("j-helpdeskColumn col-cus-5 j-column");
- $knowledgebaseColumn.addClass("j-knowledgebaseColumn col-cus-5 j-column");
- $(".j-extendColumn").removeClass("active");
- $(".dashboard-browser .extend-knowledgebase").addClass("active");
- $(".dashboard-browser .panel-body").getNiceScroll().resize();
- break;
- }
- });
- function setDashboardHeight(view) {
- switch (view) {
- case "default":
- $(".j-column > .panel > .panel-body").css("height", $(window).height() - 225);
- $(".j-helpdeskColumn iframe, #dashboardKnowledgebase iframe").css("height", $(".j-helpdeskColumn > .panel > .panel-body").height() - 10);
- break;
- case "search":
- $(".j-column > .panel > .panel-body").css("height", $(window).height() - 332);
- $(".j-helpdeskColumn iframe, #dashboardKnowledgebase iframe").css("height", $(".j-helpdeskColumn > .panel > .panel-body").height() - 10);
- break;
- case "fulltext":
- $(".j-column > .panel > .panel-body").css("height", $(window).height() - 285);
- $(".j-helpdeskColumn iframe, #dashboardKnowledgebase iframe").css("height", $(".j-helpdeskColumn > .panel > .panel-body").height() - 10);
- break;
- }
- }
- $(".j-createContact").click(function () {
- $('#crmState').val('contact_create');
- var iframeHeight = $(".j-helpdeskColumn > .panel > .panel-body").height() - 10;
- $("#crm-noSearchResults").hide();
- $("#crmContactDetail").show();
- $("#crmContactDetail").html("<iframe id='crmIframe' data-sws-properties='width height' frameborder='0' width='100%' height='" + iframeHeight +"px' src='@Url.Content("~/Person/Edit")' onLoad='checkIframeWindow(this.contentWindow.location.pathname);'></iframe>");
- });
- function regMyOlympus() {
- $(".j-regMyOlympus").click(function () {
- $('#crmState').val('contact_regmyolympus');
- var contactId = $(this).data("contact_id");
- var iframeHeight = $(".j-helpdeskColumn > .panel > .panel-body").height() - 10;
- $("#crm-noSearchResults").hide();
- $("#crmContactDetail").show();
- $("#crmContactDetail").html("<iframe id='crmIframe' data-sws-properties='width height' frameborder='0' width='100%' height='" + iframeHeight +"px' src='@Url.Content("~/Person/RegMyOlympus")" + "?contactId=" + contactId + "' onLoad='checkIframeWindow(this.contentWindow.location.pathname);'></iframe>");
- });
- }
- regMyOlympus();
- @*function regCategoryEdit() {
- $('span[data-cat-code][data-has-subcategories="False"]').unbind('click');
- $('span[data-cat-code][data-has-subcategories="False"]').click(function (e) {
- var cid = $("#extPersonId").val();
- var data = {
- PersonId: cid,
- CategoryCode: $(this).attr("data-cat-code")
- }
- var thisUrl = '@Url.Content("~/Person/ToggleCategory")';
- $.ajax({
- type: "POST",
- url: thisUrl,
- data: data,
- context: this,
- success: function (data) {
- $(this).css("background-color", data.Color);
- },
- error: function () {
- alert("Coul not toggle category.");
- }
- });
- });
- }*@
- regCategoryEdit();
- function checkIframeWindow(url) {
- if(url.indexOf('/Person/Detail/') >= 0 && !$("#joinWithCase").length) {
- $(".j-crmColumn .panel-footer .tar").prepend("<a class='btn btn-info btn-sm j-joinWithCase' id='joinWithCase'><i class='fa fa-chain'></i> Join with Case</a>");
- var receiver = document.getElementById('HelpdeskFrame').contentWindow;
- // Get a reference to the 'Send Message' button.
- var btn = document.getElementById('joinWithCase');
- // A function to handle sending messages.
- function sendMessage(e) {
- // Prevent any default browser behaviour.
- e.preventDefault();
- var pass_data = {
- 'customerName': $("#crmIframe").contents().find('#extCustomerName').val(),
- 'customerId': $("#crmIframe").contents().find('#extCustomerId').val(),
- 'personName': $("#crmIframe").contents().find('#extPersonName').val(),
- 'personId': $("#crmIframe").contents().find('extPersonId').val(),
- };
- // Send a message to the receiver window.
- receiver.postMessage(pass_data, '@(Request.Url.GetLeftPart(UriPartial.Scheme | UriPartial.Authority))');
- }
- $(btn).click(sendMessage);
- }
- }
- $(".j-search input.form-control").keydown(function (e) {
- if (e.keyCode == 13) {
- $("#btnSearch").click();
- }
- });
- $(".j-serviceTool input.form-control").keydown(function (e) {
- if (e.keyCode == 13) {
- $(".j-serviceToolSearch").click();
- }
- });
- $(".j-show-serviceTool").click(function () {
- $(".j-serviceTool").show();
- $(".j-search, .j-searchMore").hide();
- $(".dashboard-browser .panel-body").getNiceScroll().resize();
- });
- dashboardLink();
- contactDetail();
- $(".j-serviceToolSearch").click(function () {
- $repairNumber = $("#repairNumber").val();
- $serialNumber = $("#serialNumber").val();
- $custReferenceNumber = $("#custReferenceNumber").val();
- $productModel = $("#productModel").val();
- $NvxSoNumber = $("#NvxSoNumber").val();
- $shipmentNumber = $("#shipmentNumber").val();
- $productStatus = $("#productStatus").val();
- $customerLastname = $("#customerLastname").val();
- $customerCity = $("#customerCity").val();
- $customerZip = $("#customerZip").val();
- $customerCountry = $("#customerCountry").val();
- $customerStreet = $("#customerStreet").val();
- $retaulerNumber = $("#retaulerNumber").val();
- $companyName = $("#companyName").val();
- $warranty = $("#warranty").val();
- $registrationDate = $("#registrationDate").val();
- $arrivalDate = $("#arrivalDate").val();
- $repairDate = $("#repairDate").val();
- $finishDate = $("#finishDate").val();
- var $data = {};
- $(this).closest("form").find("input, select").each(function (index, element) {
- var n = $(element).attr("name");
- var v = $(element).val();
- if (typeof (n) == "undefined" || typeof (v) == "undefined") {
- return;
- }
- $data[n] = v;
- });
- $thisUrl = '@Url.Content("~/Products/ServiceOrderList")';
- $(".loading").show();
- $.ajax({
- type: "POST",
- url: $thisUrl,
- data: $data,
- dataType: "html",
- success: function (data) {
- var $dom = $(data);
- if(!$dom.find("#crmList li").length) {
- $("#crm-noSearchResults").show();
- $("#serviceOrderList").empty();
- }
- $("#serviceOrderList").html($dom.find(".dashboard-inner").html());
- $("#serviceOrderList").show();
- $("#crmContactDetail").hide();
- $("#serviceOrderList").niceScroll();
- $('input.icheck').iCheck({
- checkboxClass: 'icheckbox_flat',
- radioClass: 'iradio_flat'
- });
- /*
- thisArray = {'item':{ 'name': $dom.filter("title").text(), 'url': $thisUrl, 'breadcrumbs': '' }};
- cookieHistory_arr = $.grep(cookieHistory_arr, function (el) {
- return el.item.url != thisArray.url;
- });
- cookieHistory_arr.push(thisArray);
- $.cookie("dashboardCrmHistory", JSON.stringify(cookieHistory_arr));
- $("#crmHistory-list").empty();
- $.each(cookieHistory_arr.reverse(), function (index, value) {
- $("#crmHistory-list").append("<li><a data-breadcrumbs='" + JSON.stringify(value.item.breadcrumbs) + "' href='" + value.item.url + "' class='j-dashboardLink'>" + value.item.name + "</a>");
- });
- */
- dashboardLink();
- contactDetail();
- $(".dashboard-browser .loading").hide();
- $("#crmList .iCheck-helper").click(function () {
- if ($("#crmList .icheckbox_flat.checked").length > 1) {
- $(".j-mergeContacts").removeClass("btn-default").addClass("btn-success");
- }
- else {
- $(".j-mergeContacts").removeClass("btn-success").addClass("btn-default");
- }
- });
- $(".loading").hide();
- $("#crm-noSearchResults").hide();
- },
- });
- });
- function clearNoteForm() {
- $("#noteForm textarea").val("");
- }
- function hideNoteForm() {
- $("#noteForm").hide("slow");
- }
- function setNoteValidity(id, validityFlag) {
- $.ajax({
- url: '@Url.Content("~/Note/ChangeValidity")',
- type: 'POST',
- dataType: 'json',
- data: {
- noteId: id,
- setValid: validityFlag,
- },
- success: function (res) {
- renderNotes(res);
- },
- error: function () {
- alert("Could not save note");
- }
- });
- }
- function renderNotes(res) {
- $("#numOfNotes").text(res.TotalNotes);
- var template = $("#noteTemplate").html();
- var result = "";
- for (x in res.Notes) {
- var item = res.Notes[x];
- result += (template
- .replace("{class}", item.Class)
- .replace("{Date}", item.Date)
- .replace("{Note}", item.Note)
- .replace("{idvalue}", item.Id));
- }
- $("#noteList").html(result);
- rebindToolbox();
- }
- function resetNoteToolbox($noteDiv) {
- $noteDiv.find("div.stdTbx").show();
- $noteDiv.find("div.editNoteTbx").hide();
- }
- function rebindToolbox() {
- var __lastUnmodifiedNote = "";
- $.each($("div.note"), function (index, value) {
- var $noteDiv = $(value);
- var noteId = $noteDiv.find("input[name$='.Id']").val();
- var $noteContent = $noteDiv.find("p.editable");
- $noteDiv.find("a.j-remove,a.j-edit,a.j-restore,a.j-save,a.j-cancel").unbind("click");
- // if ($(this).hasClass("j-edit")) {
- // $(this).closest(".note").find("actions").hide();
- // }
- if ($noteDiv.hasClass("disabled")) {
- $noteDiv.find("a.j-restore").click(function () {
- setNoteValidity(noteId, true);
- });
- $noteDiv.find("a.j-remove,a.j-edit").prop("disabled", true);
- }
- else {
- $noteDiv.find("a.j-restore").prop("disabled", true);
- $noteDiv.find("a.j-edit")
- .click(function() {
- __lastUnmodifiedNote = $noteContent.text();
- $noteContent.attr("contenteditable", "true").focus();
- $noteDiv.find(".stdTbx").hide();
- $noteDiv.find("div.editNoteTbx").show();
- });
- $noteDiv.find("a.j-remove").click(function () {
- setNoteValidity(noteId, false);
- });
- }
- $("a.j-save").click(function () {
- $.ajax({
- url: '@Url.Content("~/Note/ModifyNoteText")',
- type: 'POST',
- dataType: 'json',
- data: {
- noteId: noteId,
- text: $noteContent.text(),
- },
- success: function (res) {
- renderNotes(res);
- },
- error: function () {
- alert("Could not save note");
- $noteContent.text(__lastUnmodifiedNote).removeAttr("contenteditable");
- resetNoteToolbox($noteDiv);
- }
- });
- });
- $("a.j-cancel").click(function () {
- $noteContent.text(__lastUnmodifiedNote).removeAttr("contenteditable");
- resetNoteToolbox($noteDiv);
- });
- });
- }
- $(function() {
- function displayHelpdesk() {
- $("#helpdeskTitle").html("Helpdesk");
- $("#crmContactDetail").hide();
- $("#HelpdeskFrame").show();
- }
- $(document).on('click', "#closePersonDetail", function() {
- displayHelpdesk();
- });
- $(document).on('click', "#noteFormToggleSwitch", function () {
- $("#noteForm").toggle("slow");
- });
- $(document)
- .on('click', "#crmContactDetail .collapse-all", function() {
- $("#crmContactDetail .panel:not(.panel-static) > .panel-body")
- .slideUp(function() {
- $(".dashboard-browser .panel-body").getNiceScroll().resize();
- });
- $("#crmContactDetail .panel > .panel-heading .actions i.fa-chevron-up")
- .removeClass("fa-chevron-up")
- .addClass("fa-chevron-down");
- });
- $(document)
- .on('click', "#crmContactDetail .expand-all", function() {
- $("#crmContactDetail .panel:not(.panel-static) > .panel-body")
- .slideDown(function() {
- $(".dashboard-browser .panel-body").getNiceScroll().resize();
- });
- $("#crmContactDetail .panel:not(.panel-static) > .panel-heading .actions i.fa-chevron-down")
- .removeClass("fa-chevron-down")
- .addClass("fa-chevron-up");
- $(".dashboard-browser .panel-body").getNiceScroll().resize();
- });
- $(document).on('click', "a.j-clearNote", function () {
- hideNoteForm();
- clearNoteForm();
- });
- $(document).on('click', "a.j-addNote", function () {
- var val = $("#noteForm textarea").val();
- if (val == "") return;
- $.ajax({
- url: '@Url.Content("~/Note/AddNote")',
- type: 'POST',
- dataType: 'json',
- data: {
- ParentId: $("#extPersonId").val(),
- Value: val,
- },
- error: function () {
- alert("Could not save note");
- },
- success: function (res) {
- hideNoteForm();
- clearNoteForm();
- renderNotes(res);
- }
- });
- // send add request
- // on failue notify user
- });
- $( ".date-from" ).datepicker({
- defaultDate: "+1w",
- changeMonth: true,
- numberOfMonths: 1,
- dateFormat: "yy-mm-dd",
- onClose: function( selectedDate ) {
- $(this).closest(".form-group").find(".date-to").datepicker( "option", "minDate", selectedDate );
- }
- });
- $( ".date-to" ).datepicker({
- defaultDate: "+1w",
- changeMonth: true,
- numberOfMonths: 1,
- dateFormat: "yy-mm-dd",
- onClose: function( selectedDate ) {
- $(this).closest(".form-group").find(".date-from").datepicker( "option", "maxDate", selectedDate );
- }
- });
- $(".j-editContact-save").click(function () {
- var $modal = $("#editContact .input-group");
- var cid = $("#extPersonId").val();
- var $currentUrl = '@Url.Content("~/Person/Detail/")' + cid;
- var $input = $modal.find("input");
- if (!$input[0].checkValidity()) {
- $input.parent().addClass("has-error");
- return;
- }
- var val = $input.val();
- $.ajax({
- url: '@Url.Content("~/Person/AddEmail")',
- type: 'POST',
- dataType: 'json',
- data: {
- personId: cid,
- value: val,
- },
- error: function () {
- alert("Something went wrong :-(");
- },
- success: function (res) {
- reloadLink($(this), $currentUrl);
- $('#editContact').modal('hide');
- updateContact();
- }
- });
- });
- $("#editPhone input").keyup(function () {
- var phone = $(this).val();
- $.ajax({
- url: '@Url.Content("~/Person/ValidatePhone")',
- type: 'POST',
- dataType: 'json',
- data: {
- phone: phone,
- region: "CZ",
- },
- error: function () { },
- success: function (res) {
- $("#interpretedPhone").text(res.InterpretedPhoneNumber + " " + res.IsValid);
- }
- });
- });
- $(".j-editPhone-save").click(function () {
- var cid = $("#extPersonId").val();
- var $currentUrl = '@Url.Content("~/Person/Detail/")' + cid;
- var $modal = $("#editPhone .input-group");
- var $input = $modal.find("#newPhoneNumber");
- var $pfx = $("#phonePrefix");
- if (!$input[0].checkValidity()) {
- $input.parent().addClass("has-error");
- return;
- }
- if (!$pfx[0].checkValidity()) {
- return;
- }
- var val = $pfx.val() + $input.val();
- $.ajax({
- url: '@Url.Content("~/Person/AddPhone")',
- type: 'POST',
- dataType: 'json',
- data: {
- personId: cid,
- value: val,
- },
- error: function () {
- alert("Something went wrong :-(");
- },
- success: function (res) {
- reloadLink($(this), $currentUrl);
- $('#editPhone').modal('hide');
- }
- });
- });
- $(".j-editAddress").click(function () {
- $thisUrl = JSON.parse($.cookie("dashboardCrmBreadcrumbs"));
- $thisUrl = $thisUrl[$thisUrl.length - 1].url
- $thisStreet = $(this).data("street");
- $thisCity = $(this).data("city");
- $thisZip = $(this).data("zip");
- $thisCountry = $(this).data("country");
- $('#editAddress input[name=street]').val($thisStreet);
- $('#editAddress input[name=city]').val($thisCity);
- $('#editAddress input[name=zip]').val($thisZip);
- $('#editAddress select').val($thisCountry);
- });
- $(".j-editName-save").click(function (event) {
- event.preventDefault();
- var cid = $("#extPersonId").val();
- var $currentUrl = '@Url.Content("~/Person/Detail/")' + cid;
- $modal = $("#editName");
- var $fn = $modal.find("input[name=first-name]");
- var hasError = false;
- if (!$fn[0].checkValidity()) {
- $fn.parent().addClass("has-error");
- hasError |= true;
- }
- var fn = $fn.val();
- var $ln = $modal.find("input[name=last-name]");
- if (!$ln[0].checkValidity()) {
- $ln.parent().addClass("has-error");
- hasError |= true;
- }
- if (hasError) { return; }
- var ln = $ln.val();
- var fileas = $modal.find("input[name=fileas-name]").val();
- if (fileas == "") {
- fileas = fn + " " + ln;
- $modal.find("input[name=fileas-name]").val(fileas);
- setTimeout (function() { saveContact(cid, fn, ln, fileas, $currentUrl, $(this)); }, 500);
- }
- else {
- saveContact(cid, fn, ln, fileas, $currentUrl, $(this));
- }
- });
- $(".j-editAddress-save").click(function (event) {
- event.preventDefault();
- var cid = $("#extPersonId").val();
- var $currentUrl = '@Url.Content("~/Person/Detail/")' + cid;
- var success = true;
- var $street = $('#editAddress input[name=street]');
- success &= examineElementAndIndicateErrlr($street);
- var $city = $('#editAddress input[name=city]');
- success &= examineElementAndIndicateErrlr($city);
- var $postalCode = $('#editAddress input[name=zip]');
- success &= examineElementAndIndicateErrlr($postalCode);
- var $country = $('#editAddress select');
- success &= examineElementAndIndicateErrlr($country);
- if (!success) { return; }
- $.ajax({
- url: '@Url.Content("~/Person/AddAddress")',
- type: 'POST',
- dataType: 'json',
- data: {
- personId: cid,
- street: $street.val(),
- postalCode: $postalCode.val(),
- city: $city.val(),
- countryCode: $country.val(),
- },
- error: function () {
- alert("Something went wrong :-(");
- },
- success: function (res) {
- reloadLink($(this), $currentUrl);
- $('#editAddress').modal('hide');
- }
- });
- });
- });
- function examineElementAndIndicateErrlr($elm) {
- if (!$elm[0].checkValidity()) {
- $elm.parent().addClass("has-error");
- return false;
- }
- else {
- return true;
- }
- }
- function saveContact (id, fn, ln, fileAs, currentUrl, $this) {
- $.ajax({
- url: '@Url.Content("~/Person/SaveName")',
- type: 'POST',
- dataType: 'json',
- data: {
- personId: id,
- firstName: fn,
- lastName: ln,
- fileAs: fileAs
- },
- error: function () {
- alert("Something went wrong :-(");
- },
- success: function (res) {
- reloadLink($this, currentUrl);
- $('#editName').modal('hide');
- }
- });
- }
- function verifyContact(e, result) {
- var popover = $(e).closest(".detail-contact-info").find(".popover");
- popover.toggle();
- switch (true) {
- case result == "verified":
- popover.removeClass("danger warning").addClass("success");
- popover.find(".popover-content").text("Verified");
- break;
- case result == "error":
- popover.removeClass("success warning").addClass("danger");
- popover.find(".popover-content").text("Error");
- break;
- case result == "notVerified":
- popover.removeClass("success warning").addClass("warning");
- popover.find(".popover-content").text("Not verified");
- break;
- }
- }
- $(document).ajaxComplete(function() {
- $(".dashboard-browser .panel-body").getNiceScroll().resize();
- rebindToolbox();
- });
- </script>
- <script type="text/javascript" src="~/Scripts/Olympus/view_model.js"></script>
- }
- @section styles {
- <link href="~/Content/jqueryUI/jquery-ui.min.css" type="text/css" rel="stylesheet" />
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement