mirror of https://github.com/gophish/gophish
Removing angular artifacts
parent
58670513c7
commit
1cbb223939
File diff suppressed because it is too large
Load Diff
|
@ -1,81 +0,0 @@
|
||||||
<div class="container-fluid">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-sm-3 col-md-2 sidebar">
|
|
||||||
<ul class="nav nav-sidebar">
|
|
||||||
<li><a href="#">Dashboard</a>
|
|
||||||
</li>
|
|
||||||
<li class="active"><a href="#/campaigns">Campaigns</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="#/users">Users & Groups</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="#/templates">Email Templates</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="#/landing_pages">Landing Pages</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="#/settings">Settings</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="/api/">API Documentation</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main" ng-controller="CampaignResultsCtrl">
|
|
||||||
<div ng-show="campaign">
|
|
||||||
<div class="row">
|
|
||||||
<h1 class="page-header">Results for {{campaign.name}}</h1>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<div class="btn-group">
|
|
||||||
<button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
|
|
||||||
<i class="fa fa-cogs fa-lg"></i>
|
|
||||||
<span class="caret"></span>
|
|
||||||
</button>
|
|
||||||
<ul class="dropdown-menu">
|
|
||||||
<li><a href="#">Export</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="#">Relaunch</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<button type="button" class="btn btn-danger" tooltip="Delete Campaign" tooltip-placement="right" ng-click="delete(campaign)" ng-href="#/dashboard"><i class="fa fa-times fa-lg"></i>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<br />
|
|
||||||
<div class="row">
|
|
||||||
<tabset>
|
|
||||||
<tab heading="Overview">
|
|
||||||
<br/>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
|
|
||||||
<highchart config="timeline_chart"></highchart>
|
|
||||||
</div>
|
|
||||||
<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
|
|
||||||
<highchart config="email_chart"></highchart>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</tab>
|
|
||||||
<tab heading="Plugins">Plugins here</tab>
|
|
||||||
<tab heading="Demographics">Demographics here</tab>
|
|
||||||
</tabset>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<h2>Details</h2>
|
|
||||||
<table ng-table="mainTableParams" class="table table-hover table-striped table-bordered">
|
|
||||||
<tbody>
|
|
||||||
<tr ng-repeat="result in $data" class="editable-row">
|
|
||||||
<td data-title="'Email'" class="col-sm-1">{{result.email}}</td>
|
|
||||||
<td data-title="'Status'" class="col-sm-2">{{result.status}}</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div ng-show="!campaign">
|
|
||||||
<div class="row">
|
|
||||||
<div class="alert alert-danger">
|
|
||||||
<i class="fa fa-exclamation-circle"></i> Campaign not found!
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
|
@ -1,70 +0,0 @@
|
||||||
<div class="container-fluid">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-sm-3 col-md-2 sidebar">
|
|
||||||
<ul class="nav nav-sidebar">
|
|
||||||
<li><a href="#">Dashboard</a>
|
|
||||||
</li>
|
|
||||||
<li class="active"><a href="#/campaigns">Campaigns</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="#/users">Users & Groups</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="#/templates">Email Templates</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="#/landing_pages">Landing Pages</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="#/settings">Settings</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="/api/">API Documentation</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main" ng-controller="CampaignCtrl">
|
|
||||||
<h1 class="page-header">
|
|
||||||
Campaigns
|
|
||||||
</h1>
|
|
||||||
<div class="row">
|
|
||||||
<div ng-repeat="flash in flashes.main" style="text-align:center" class="alert alert-{{flash.type}}">
|
|
||||||
<i class="fa {{flash.icon}}"></i> {{flash.message}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<button type="button" class="btn btn-primary" ng-click="newCampaign()"><i class="fa fa-plus"></i> New Campaign</button>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div ng-show="!campaigns.length">
|
|
||||||
<div class="row">
|
|
||||||
<div class="alert alert-info">
|
|
||||||
No campaigns created yet. Let's create one!
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div ng-show="campaigns.length" class="row">
|
|
||||||
<table ng-table="mainTableParams" class="table table-hover table-striped table-bordered">
|
|
||||||
<tbody>
|
|
||||||
<tr ng-repeat="campaign in $data | orderBy:modified_date:true" class="editable-row">
|
|
||||||
<td data-title="'Created Date'" class="col-sm-1">{{campaign.created_date | date:'medium'}}</td>
|
|
||||||
<td data-title="'Name'" class="col-sm-2">{{campaign.name}}
|
|
||||||
<div class="btn-group" style="float: right;">
|
|
||||||
<button type="button" class="btn btn-primary dropdown-toggle edit-button" data-toggle="dropdown">
|
|
||||||
<span class="caret" style="border-top-color:#FFFFFF"></span>
|
|
||||||
<span class="sr-only">Toggle Dropdown</span>
|
|
||||||
</button>
|
|
||||||
<ul class="dropdown-menu" style="left:auto; right:0;" role="menu">
|
|
||||||
<li><a ng-href="#/campaigns/{{campaign.id}}">View</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="/campaigns/{{campaign.id}}/relaunch">Relaunch</a>
|
|
||||||
</li>
|
|
||||||
<li class="divider"></li>
|
|
||||||
<li><a ng-click="deleteCampaign(campaign)">Delete</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td data-title="'Status'" class="col-sm-1">{{campaign.status}}</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
|
@ -1,78 +0,0 @@
|
||||||
<div class="container-fluid">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-sm-3 col-md-2 sidebar">
|
|
||||||
<ul class="nav nav-sidebar">
|
|
||||||
<li class="active"><a href="#">Dashboard</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="#/campaigns">Campaigns</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="#/users">Users & Groups</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="#/templates">Email Templates</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="#/landing_pages">Landing Pages</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="#/settings">Settings</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="/api/">API Documentation</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main" ng-controller="DashboardCtrl">
|
|
||||||
<h1 class="page-header">
|
|
||||||
Dashboard
|
|
||||||
</h1>
|
|
||||||
<div ng-show="!campaigns.length">
|
|
||||||
<div class="row">
|
|
||||||
<div class="alert alert-info">
|
|
||||||
No campaigns yet.
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
|
|
||||||
<highchart config="overview_chart"></highchart>
|
|
||||||
</div>
|
|
||||||
<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
|
|
||||||
<highchart config="average_chart"></highchart>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<h2>Recent Campaigns</h2>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<a href="#/campaigns"><button type="button" class="btn btn-primary">View All</button></a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<table ng-table="mainTableParams" class="table table-hover table-striped table-bordered">
|
|
||||||
<tbody>
|
|
||||||
<tr ng-repeat="campaign in $data" class="editable-row">
|
|
||||||
<td data-title="'Created Date'" class="col-sm-1">{{campaign.created_date | date:'medium'}}</td>
|
|
||||||
<td data-title="'Name'" class="col-sm-2">{{campaign.name}}
|
|
||||||
<div class="btn-group" style="float: right;">
|
|
||||||
<button type="button" class="btn btn-primary dropdown-toggle edit-button" data-toggle="dropdown">
|
|
||||||
<span class="caret" style="border-top-color:#FFFFFF"></span>
|
|
||||||
<span class="sr-only">Toggle Dropdown</span>
|
|
||||||
</button>
|
|
||||||
<ul class="dropdown-menu" style="left:auto; right:0;" role="menu">
|
|
||||||
<li><a ng-href="#/campaigns/{{campaign.id}}">View</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="/campaigns/{{campaign.id}}/relaunch">Relaunch</a>
|
|
||||||
</li>
|
|
||||||
<li class="divider"></li>
|
|
||||||
<li><a ng-click="deleteCampaign(campaign)" ng-href="#">Delete</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td data-title="'Status'" class="col-sm-1">{{campaign.status}}</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
|
@ -1,67 +0,0 @@
|
||||||
<div class="container-fluid">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-sm-3 col-md-2 sidebar">
|
|
||||||
<ul class="nav nav-sidebar">
|
|
||||||
<li><a href="#">Dashboard</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="#/campaigns">Campaigns</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="#/users">Users & Groups</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="#/templates">Email Templates</a>
|
|
||||||
</li>
|
|
||||||
<li class="active"><a href="#/landing_pages">Landing Pages</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="#/settings">Settings</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="/api/">API Documentation</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main" ng-controller="LandingPageCtrl">
|
|
||||||
<h1 class="page-header">
|
|
||||||
Landing Pages
|
|
||||||
</h1>
|
|
||||||
<div class="row">
|
|
||||||
<div ng-repeat="flash in flashes" style="text-align:center" class="alert alert-{{flash.type}}">
|
|
||||||
<i class="fa {{flash.icon}}"></i> {{flash.message}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<button type="button" class="btn btn-primary" ng-click="editPage('new')" data-toggle="modal" data-target="#newLandingPageModal"><i class="fa fa-plus"></i> New Page</button>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div ng-show="!pages.length">
|
|
||||||
<div class="row">
|
|
||||||
<div class="alert alert-info">
|
|
||||||
No pages created yet. Let's create one!
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div ng-show="pages.length" class="row">
|
|
||||||
<table ng-table="mainTableParams" class="table table-hover table-striped table-bordered">
|
|
||||||
<tbody>
|
|
||||||
<tr ng-repeat="page in $data | orderBy: '-modified_date'" class="editable-row">
|
|
||||||
<td data-title="'Name'" sortable="'name'" class="col-sm-2">{{page.name}}
|
|
||||||
<div class="btn-group" style="float: right;">
|
|
||||||
<button type="button" class="btn btn-primary dropdown-toggle edit-button" data-toggle="dropdown">
|
|
||||||
<span class="caret" style="border-top-color:#FFFFFF"></span>
|
|
||||||
<span class="sr-only">Toggle Dropdown</span>
|
|
||||||
</button>
|
|
||||||
<ul class="dropdown-menu" style="left:auto; right:0;" role="menu">
|
|
||||||
<li><a ng-click="editPage(page)">Edit</a>
|
|
||||||
</li>
|
|
||||||
<li class="divider"></li>
|
|
||||||
<li><a ng-click="deletePage(page)" ng-href="#">Delete</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td data-title="'Modified Date'" class="col-sm-1">{{page.modified_date | date:'medium'}}</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
|
@ -1,66 +0,0 @@
|
||||||
<!-- New Campaign Modal -->
|
|
||||||
<div class="modal-header">
|
|
||||||
<button type="button" class="close" ng-click="cancel()">×</button>
|
|
||||||
<h4 class="modal-title" id="campaignModalLabel">New Campaign</h4>
|
|
||||||
</div>
|
|
||||||
<div class="modal-body">
|
|
||||||
<div class="row">
|
|
||||||
<div ng-repeat="flash in flashes.modal" style="text-align:center" class="alert alert-{{flash.type}}">
|
|
||||||
<i class="fa {{flash.icon}}"></i> {{flash.message}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="name">Name:</label>
|
|
||||||
<input type="text" class="form-control" ng-model="campaign.name" id="name" placeholder="Campaign name" autofocus>
|
|
||||||
<br />
|
|
||||||
<label class="control-label" for="template">Template:</label>
|
|
||||||
<input type="text" class="form-control" placeholder="Template Name" id="template" typeahead="template.name for template in templates | filter:{name:$viewValue}" typeahead-editable="false" ng-model="campaign.template.name" />
|
|
||||||
<br />
|
|
||||||
<accordian>
|
|
||||||
<accordion-group>
|
|
||||||
<accordion-heading>
|
|
||||||
SMTP Options <i class="pull-right glyphicon" ng-class="{'glyphicon-chevron-down': isOpen, 'glyphicon-chevron-right': !isOpen}"></i>
|
|
||||||
</accordion-heading>
|
|
||||||
<label class="control-label" for="from">From:</label>
|
|
||||||
<input type="text" class="form-control" ng-model="campaign.smtp.from_address" placeholder="First Last <test@example.com>" id="form">
|
|
||||||
<br />
|
|
||||||
<label class="control-label" for="smtp_server">Host:</label>
|
|
||||||
<input type="text" class="form-control" ng-model="campaign.smtp.host" placeholder="smtp.example.com:25" id="smtp_server">
|
|
||||||
<br />
|
|
||||||
<label class="control-label" for="smtp_server">Username:</label>
|
|
||||||
<input type="text" class="form-control" ng-model="campaign.smtp.username" placeholder="Username" id="smtp_server">
|
|
||||||
<br />
|
|
||||||
<label class="control-label" for="smtp_server">Password:</label>
|
|
||||||
<input type="password" class="form-control" ng-model="campaign.smtp.password" placeholder="Password" id="smtp_server">
|
|
||||||
<br />
|
|
||||||
</accordion-group>
|
|
||||||
</accordion>
|
|
||||||
<label class="control-label" for="users">Groups:</label>
|
|
||||||
<form ng-submit="addGroup(group)">
|
|
||||||
<div class="input-group">
|
|
||||||
<input type="text" class="form-control" placeholder="Group Name" id="users" typeahead="group.name for group in groups | filter:{name:$viewValue}" typeahead-editable="false" ng-model="group.name" />
|
|
||||||
<span class="input-group-btn">
|
|
||||||
<button class="btn btn-primary"><i class="fa fa-plus"></i> Add</button>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
<br />
|
|
||||||
<table ng-table="editGroupTableParams" class="table table-hover table-striped table-condensed">
|
|
||||||
<tbody>
|
|
||||||
<tr ng-repeat="group in $data" class="editable-row">
|
|
||||||
<td>{{group.name}}
|
|
||||||
<span ng-click="removeGroup(group)" class="remove-row"><i class="fa fa-trash-o"></i>
|
|
||||||
</span>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="modal-footer">
|
|
||||||
<button type="button" class="btn btn-default" ng-click="cancel()">Cancel</button>
|
|
||||||
<button type="button" class="btn btn-primary" data-dismiss="modal" ng-click="ok(campaign)" type="submit">Launch Campaign</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
|
@ -1,19 +0,0 @@
|
||||||
<!-- Import Email Modal -->
|
|
||||||
<div class="modal-header">
|
|
||||||
<button type="button" class="close" ng-click="cancel()">×</button>
|
|
||||||
<h4 class="modal-title">Import Email</h4>
|
|
||||||
</div>
|
|
||||||
<div class="modal-body">
|
|
||||||
<tabset>
|
|
||||||
<tab>
|
|
||||||
<tab-heading>
|
|
||||||
<span>Raw <i class="fa fa-question-circle" tooltip="Input the raw email content, or "source"" tooltip-placement="right"></i></span>
|
|
||||||
</tab-heading>
|
|
||||||
<textarea rows="10" style="font-family:monospace;" class="form-control" ng-model="email.raw" placeholder="Email Content"></textarea>
|
|
||||||
</tab>
|
|
||||||
</tabset>
|
|
||||||
</div>
|
|
||||||
<div class="modal-footer">
|
|
||||||
<button type="button" class="btn btn-default" ng-click="cancel()">Cancel</button>
|
|
||||||
<button type="button" class="btn btn-primary" ng-click="ok()">Import</button>
|
|
||||||
</div>
|
|
|
@ -1,33 +0,0 @@
|
||||||
<!-- New Template Modal -->
|
|
||||||
<div class="modal-header">
|
|
||||||
<button type="button" class="close" ng-click="cancel()">×</button>
|
|
||||||
<h4 class="modal-title" ng-hide="newPage" id="pageModalLabel">Edit Page: {{page.name}}</h4>
|
|
||||||
<h4 class="modal-title" ng-show="newPage" id="pageModalLabel">New Page</h4>
|
|
||||||
</div>
|
|
||||||
<div class="modal-body">
|
|
||||||
<div class="row">
|
|
||||||
<div ng-repeat="flash in flashes.modal" style="text-align:center" class="alert alert-{{flash.type}}">
|
|
||||||
<i class="fa {{flash.icon}}"></i> {{flash.message}}
|
|
||||||
</div>
|
|
||||||
</div
|
|
||||||
<label class="control-label" for="name">Name:</label>
|
|
||||||
<div class="form-group">
|
|
||||||
<input type="text" class="form-control" ng-model="page.name" placeholder="Page name" id="name" autofocus/>
|
|
||||||
</div>
|
|
||||||
<!-- Nav tabs -->
|
|
||||||
<fieldset disabled>
|
|
||||||
<div class="form-group">
|
|
||||||
<button class="btn btn-danger btn-disabled" ng-click="cloneSite()"><i class="fa fa-download"></i> Clone Site</button>
|
|
||||||
</div>
|
|
||||||
</fieldset>
|
|
||||||
<tabset>
|
|
||||||
<tab heading="HTML">
|
|
||||||
<textarea ckeditor="editorOptions" name="html" ng-model="page.html"></textarea>
|
|
||||||
</tab>
|
|
||||||
</tabset>
|
|
||||||
<br />
|
|
||||||
</div>
|
|
||||||
<div class="modal-footer">
|
|
||||||
<button type="button" class="btn btn-default" ng-click="cancel()">Cancel</button>
|
|
||||||
<button type="button" class="btn btn-primary" ng-click="ok(page)" data-dismiss="modal">Save Page</button>
|
|
||||||
</div>
|
|
|
@ -1,19 +0,0 @@
|
||||||
<!-- Import Email Modal -->
|
|
||||||
<div class="modal-header">
|
|
||||||
<button type="button" class="close" ng-click="cancel()">×</button>
|
|
||||||
<h4 class="modal-title">Clone Site</h4>
|
|
||||||
</div>
|
|
||||||
<div class="modal-body">
|
|
||||||
<tabset>
|
|
||||||
<tab>
|
|
||||||
<tab-heading>
|
|
||||||
<span>URL <i class="fa fa-question-circle" tooltip="Input the raw email content, or "source"" tooltip-placement="right"></i></span>
|
|
||||||
</tab-heading>
|
|
||||||
<input class="form-control" ng-model="url" placeholder="http://www.example.com"></input>
|
|
||||||
</tab>
|
|
||||||
</tabset>
|
|
||||||
</div>
|
|
||||||
<div class="modal-footer">
|
|
||||||
<button type="button" class="btn btn-default" ng-click="cancel()">Cancel</button>
|
|
||||||
<button type="button" class="btn btn-primary" ng-click="ok()">Clone</button>
|
|
||||||
</div>
|
|
|
@ -1,68 +0,0 @@
|
||||||
<!-- New Template Modal -->
|
|
||||||
<div class="modal-header">
|
|
||||||
<button type="button" class="close" ng-click="cancel()">×</button>
|
|
||||||
<h4 class="modal-title" ng-hide="newTemplate" id="groupModalLabel">Edit Template: {{template.name}}</h4>
|
|
||||||
<h4 class="modal-title" ng-show="newTemplate" id="groupModalLabel">New Template</h4>
|
|
||||||
</div>
|
|
||||||
<div class="modal-body">
|
|
||||||
<div class="row">
|
|
||||||
<div ng-repeat="flash in flashes.modal" style="text-align:center" class="alert alert-{{flash.type}}">
|
|
||||||
<i class="fa {{flash.icon}}"></i> {{flash.message}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<label class="control-label" for="name">Name:</label>
|
|
||||||
<div class="form-group">
|
|
||||||
<input type="text" class="form-control" ng-model="template.name" placeholder="Template name" id="name" autofocus/>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<button class="btn btn-danger btn-disabled" ng-click="importEmail()"><i class="fa fa-envelope"></i> Import Email (Coming Soon!)</button>
|
|
||||||
</div>
|
|
||||||
<label class="control-label" for="subject">Subject:</label>
|
|
||||||
<div class="form-group">
|
|
||||||
<input type="text" class="form-control" ng-model="template.subject" placeholder="Email Subject" id="subject" />
|
|
||||||
</div>
|
|
||||||
<!-- Nav tabs -->
|
|
||||||
<tabset>
|
|
||||||
<tab heading="Text">
|
|
||||||
<textarea rows="10" class="form-control" ng-model="template.text" placeholder="Plaintext"></textarea>
|
|
||||||
</tab>
|
|
||||||
<tab heading="HTML">
|
|
||||||
<textarea ckeditor="editorOptions" ng-model="template.html"></textarea>
|
|
||||||
</tab>
|
|
||||||
</tabset>
|
|
||||||
<br />
|
|
||||||
<label class="control-label">Files:</label>
|
|
||||||
<table id="attachmentsTable" class="table">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th></th>
|
|
||||||
<th>Name</th>
|
|
||||||
<th></th>
|
|
||||||
<th>Content</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<div ng-repeat="file in template.attachments" ng-model="template.attachments">
|
|
||||||
<i class="fa fa-file-excel-o" ng-show="file.type == 'application/vnd.ms-excel'"></i>
|
|
||||||
<i class="fa fa-file-text-o" ng-show="file.type == 'text/plain'"></i>
|
|
||||||
<i class="fa fa-file-image-o" ng-show="file.type == 'image/gif'"></i>
|
|
||||||
<i class="fa fa-file-pdf-o" ng-show="file.type == 'application/pdf'"></i>
|
|
||||||
<i class="fa fa-file-archive-o" ng-show="file.type == 'application/x-zip-compressed' || file.type == 'application/x-gzip'"></i>
|
|
||||||
<i class="fa fa-file-powerpoint-o" ng-show="file.type == 'application/vnd.openxmlformats-officedocument.presentationml.presentation'"></i>
|
|
||||||
<i class="fa fa-file-word-o" ng-show="file.type == 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'"></i>
|
|
||||||
<i class="fa fa-file-o" ng-show="file.type == 'application/octet-stream' || file.type == 'application/x-msdownload'"></i>
|
|
||||||
{{file.name}}
|
|
||||||
<span ng-click="removeFile(file)" class="remove-row"><i class="fa fa-trash-o"></i>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
<br/>
|
|
||||||
<span class="btn btn-danger btn-file"><i class="fa fa-plus"></i> Add Files
|
|
||||||
<input type="file" onchange="attach(this.files)" multiple>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
<div class="modal-footer">
|
|
||||||
<button type="button" class="btn btn-default" ng-click="cancel()">Cancel</button>
|
|
||||||
<button type="button" class="btn btn-primary" ng-click="ok(template)" data-dismiss="modal">Save Template</button>
|
|
||||||
</div>
|
|
|
@ -1,48 +0,0 @@
|
||||||
<!-- New Group Modal -->
|
|
||||||
<div class="modal-content">
|
|
||||||
<div class="modal-header">
|
|
||||||
<button type="button" class="close" ng-click="cancel()">×</button>
|
|
||||||
<h4 class="modal-title" ng-hide="newGroup" id="groupModalLabel">Edit Group: {{group.name}}</h4>
|
|
||||||
<h4 class="modal-title" ng-show="newGroup" id="groupModalLabel">New Group</h4>
|
|
||||||
</div>
|
|
||||||
<div class="modal-body">
|
|
||||||
<div class="row">
|
|
||||||
<div ng-repeat="flash in flashes.modal" style="text-align:center" class="alert alert-{{flash.type}}">
|
|
||||||
<i class="fa {{flash.icon}}"></i> {{flash.message}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<label class="control-label" for="name">Name:</label>
|
|
||||||
<div class="form-group">
|
|
||||||
<input type="text" class="form-control" ng-model="group.name" placeholder="Group name" id="name" autofocus/>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<span class="btn btn-danger btn-file" tooltip="Supports CSV files" tooltip-placement="right"><i class="fa fa-plus"></i> Bulk Import Users
|
|
||||||
<input type="file" ng-file-select="onFileSelect($files)">
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
<label class="control-label" for="users">Users:</label>
|
|
||||||
<form ng:submit="addTarget()">
|
|
||||||
<div class="input-group">
|
|
||||||
<input type="email" class="form-control" placeholder="test@example.com" id="users" ng-model="newTarget.email" />
|
|
||||||
<span class="input-group-btn">
|
|
||||||
<button class="btn btn-primary"><i class="fa fa-plus"></i> Add</button>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
<br />
|
|
||||||
<table ng-table="editGroupTableParams" class="table table-hover table-striped table-condensed">
|
|
||||||
<tbody>
|
|
||||||
<tr ng-repeat="target in $data" class="editable-row">
|
|
||||||
<td>{{target.email}}
|
|
||||||
<span ng-click="removeTarget(target)" class="remove-row"><i class="fa fa-trash-o"></i>
|
|
||||||
</span>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div class="modal-footer">
|
|
||||||
<button type="button" class="btn btn-default" onclick="dismiss()">Cancel</button>
|
|
||||||
<button type="button" class="btn btn-primary" onclick="save()">Save Group</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
|
@ -1,69 +0,0 @@
|
||||||
<div class="container-fluid">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-sm-3 col-md-2 sidebar">
|
|
||||||
<ul class="nav nav-sidebar">
|
|
||||||
<li><a href="#">Dashboard</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="#/campaigns">Campaigns</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="#/users">Users & Groups</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="#/templates">Email Templates</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="#/landing_pages">Landing Pages</a>
|
|
||||||
</li>
|
|
||||||
<li class="active"><a href="#/settings">Settings</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="/api/">API Documentation</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main" ng-controller="SettingsCtrl">
|
|
||||||
<div class="row">
|
|
||||||
<h1 class="page-header">Settings</h1>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<div ng-repeat="flash in flashes" style="text-align:center" class="alert alert-{{flash.type}}">
|
|
||||||
<i class="fa {{flash.icon}}"></i> {{flash.message}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<label for="api_key" class="col-sm-2 control-label form-label">API Key:</label>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<input type="text" id="api_key" onclick="this.select();" value="{{user.api_key}}" class="form-control" readonly/>
|
|
||||||
</div>
|
|
||||||
<form ng-submit="api_reset()">
|
|
||||||
<button class="btn btn-primary"><i class="fa fa-refresh" type="submit"></i> Reset</button>
|
|
||||||
<input type="hidden" name="csrf_token" value="{{form_data.csrf_token}}"/>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
<br />
|
|
||||||
<form ng-submit="save_settings()" method="POST">
|
|
||||||
<div class="row">
|
|
||||||
<label for="username" class="col-sm-2 control-label form-label">Username:</label>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<input type="text" id="username" class="form-control" ng-model="form_data.username" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<br />
|
|
||||||
<div class="row">
|
|
||||||
<label for="current_password" class="col-sm-2 control-label form-label">Old Password:</label>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<input type="password" id="current_password" name="current_password" class="form-control" ng-model="form_data.current_password" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<br />
|
|
||||||
<div class="row">
|
|
||||||
<label for="new_password" class="col-sm-2 control-label form-label">New Password:</label>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<input type="password" id="new_password" name="new_password" class="form-control" ng-model="form_data.new_password" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<input type="hidden" name="csrf_token" ng-model="form_data.csrf_token"/>
|
|
||||||
<br />
|
|
||||||
<button class="btn btn-primary" type="submit">Save</button>
|
|
||||||
</form>
|
|
||||||
<br/>
|
|
||||||
</div>
|
|
|
@ -1,67 +0,0 @@
|
||||||
<div class="container-fluid">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-sm-3 col-md-2 sidebar">
|
|
||||||
<ul class="nav nav-sidebar">
|
|
||||||
<li><a href="#">Dashboard</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="#/campaigns">Campaigns</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="#/users">Users & Groups</a>
|
|
||||||
</li>
|
|
||||||
<li class="active"><a href="#/templates">Email Templates</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="#/landing_pages">Landing Pages</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="#/settings">Settings</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="/api/">API Documentation</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main" ng-controller="TemplateCtrl">
|
|
||||||
<h1 class="page-header">
|
|
||||||
Email Templates
|
|
||||||
</h1>
|
|
||||||
<div class="row">
|
|
||||||
<div ng-repeat="flash in flashes.main" style="text-align:center" class="alert alert-{{flash.type}}">
|
|
||||||
<i class="fa {{flash.icon}}"></i> {{flash.message}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<button type="button" class="btn btn-primary" ng-click="editTemplate('new')"><i class="fa fa-plus"></i> New Template</button>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div ng-show="!templates.length">
|
|
||||||
<div class="row">
|
|
||||||
<div class="alert alert-info">
|
|
||||||
No templates created yet. Let's create one!
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div ng-show="templates.length" class="row">
|
|
||||||
<table ng-table="mainTableParams" class="table table-hover table-striped table-bordered">
|
|
||||||
<tbody>
|
|
||||||
<tr ng-repeat="template in $data | orderBy: '-modified_date'" class="editable-row">
|
|
||||||
<td data-title="'Name'" sortable="'name'" class="col-sm-2">{{template.name}}
|
|
||||||
<div class="btn-group" style="float: right;">
|
|
||||||
<button type="button" class="btn btn-primary dropdown-toggle edit-button" data-toggle="dropdown">
|
|
||||||
<span class="caret" style="border-top-color:#FFFFFF"></span>
|
|
||||||
<span class="sr-only">Toggle Dropdown</span>
|
|
||||||
</button>
|
|
||||||
<ul class="dropdown-menu" style="left:auto; right:0;" role="menu">
|
|
||||||
<li><a ng-click="editTemplate(template)">Edit</a>
|
|
||||||
</li>
|
|
||||||
<li class="divider"></li>
|
|
||||||
<li><a ng-click="deleteTemplate(template)">Delete</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td data-title="'Modified Date'" class="col-sm-1">{{template.modified_date | date:'medium'}}</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
|
@ -1,71 +0,0 @@
|
||||||
<div class="container-fluid">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-sm-3 col-md-2 sidebar">
|
|
||||||
<ul class="nav nav-sidebar">
|
|
||||||
<li><a href="#">Dashboard</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="#/campaigns">Campaigns</a>
|
|
||||||
</li>
|
|
||||||
<li class="active"><a href="#/users">Users & Groups</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="#/templates">Email Templates</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="#/landing_pages">Landing Pages</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="#/settings">Settings</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="/api/">API Documentation</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main" ng-controller="GroupCtrl">
|
|
||||||
<h1 class="page-header">
|
|
||||||
Users & Groups
|
|
||||||
</h1>
|
|
||||||
<div class="row">
|
|
||||||
<div ng-repeat="flash in flashes.main" style="text-align:center" class="alert alert-{{flash.type}}">
|
|
||||||
<i class="fa {{flash.icon}}"></i> {{flash.message}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<button type="button" class="btn btn-primary" ng-click="editGroup('new')" data-toggle="modal" data-target="#newGroupModal"><i class="fa fa-plus"></i> New Group</button>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div ng-show="!groups.length">
|
|
||||||
<div class="row">
|
|
||||||
<div class="alert alert-info">
|
|
||||||
No groups created yet. Let's create one!
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div ng-show="groups.length" class="row">
|
|
||||||
<table ng-table="mainTableParams" class="table table-hover table-striped table-bordered">
|
|
||||||
<tbody>
|
|
||||||
<tr ng-repeat="group in $data | orderBy: '-modified_date'" class="editable-row">
|
|
||||||
<td data-title="'Name'" sortable="'name'" class="col-sm-1">{{group.name}}</td>
|
|
||||||
<td data-title="'Members'" class="col-sm-2">
|
|
||||||
<span ng-repeat="target in group.targets | cut:5 track by $index ">
|
|
||||||
{{target}}{{$last ? '' : ', '}}
|
|
||||||
</span>
|
|
||||||
<div class="btn-group" style="float: right;">
|
|
||||||
<button type="button" class="btn btn-primary dropdown-toggle edit-button" data-toggle="dropdown">
|
|
||||||
<span class="caret" style="border-top-color:#FFFFFF"></span>
|
|
||||||
<span class="sr-only">Toggle Dropdown</span>
|
|
||||||
</button>
|
|
||||||
<ul class="dropdown-menu" style="left:auto; right:0;" role="menu">
|
|
||||||
<li><a ng-click="editGroup(group)">Edit</a>
|
|
||||||
</li>
|
|
||||||
<li class="divider"></li>
|
|
||||||
<li><a ng-click="deleteGroup(group)">Delete</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td data-title="'Modified Date'" class="col-sm-1">{{group.modified_date | date:'medium'}}</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
Loading…
Reference in New Issue