mirror of https://github.com/gophish/gophish
parent
5d0792044d
commit
da1216aaf7
|
@ -23,6 +23,7 @@ function api(endpoint, method, data) {
|
||||||
/*
|
/*
|
||||||
Define our API Endpoints
|
Define our API Endpoints
|
||||||
*/
|
*/
|
||||||
|
// campaigns contains the endpoints for /campaigns
|
||||||
var campaigns = {
|
var campaigns = {
|
||||||
// get() - Queries the API for GET /campaigns
|
// get() - Queries the API for GET /campaigns
|
||||||
get: function(){
|
get: function(){
|
||||||
|
@ -34,6 +35,7 @@ var campaigns = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// campaignId contains the endpoints for /campaigns/:id
|
||||||
var campaignId = {
|
var campaignId = {
|
||||||
// get() - Queries the API for GET /campaigns/:id
|
// get() - Queries the API for GET /campaigns/:id
|
||||||
get: function(id){
|
get: function(id){
|
||||||
|
@ -53,32 +55,66 @@ var campaignId = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// groups contains the endpoints for /groups
|
||||||
var groups = {
|
var groups = {
|
||||||
// get() - Queries the API for GET /campaigns
|
// get() - Queries the API for GET /groups
|
||||||
get: function(){
|
get: function(){
|
||||||
return api("/groups", "GET", {})
|
return api("/groups", "GET", {})
|
||||||
},
|
},
|
||||||
// post() - Posts a campaign to POST /campaigns
|
// post() - Posts a campaign to POST /groups
|
||||||
post: function(group){
|
post: function(group){
|
||||||
return api("/groups", "POST", group)
|
return api("/groups", "POST", group)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// groupId contains the endpoints for /groups/:id
|
||||||
var groupId = {
|
var groupId = {
|
||||||
// get() - Queries the API for GET /groups/:id
|
// get() - Queries the API for GET /groups/:id
|
||||||
get: function(id){
|
get: function(id){
|
||||||
return api("/campaigns/" + id, "GET", {})
|
return api("/groups/" + id, "GET", {})
|
||||||
},
|
},
|
||||||
// post() - Posts a campaign to POST /campaigns/:id
|
// post() - Posts a campaign to POST /groups/:id
|
||||||
post: function(campaign){
|
post: function(group){
|
||||||
return api("/campaigns/" + campaign.id, "POST", data)
|
return api("/groups/" + group.id, "POST", data)
|
||||||
},
|
},
|
||||||
// put() - Puts a campaign to PUT /campaigns/:id
|
// put() - Puts a campaign to PUT /groups/:id
|
||||||
put: function (campaign){
|
put: function (group){
|
||||||
return api("/campaigns/" + campaign.id, "PUT", data)
|
return api("/groups/" + group.id, "PUT", data)
|
||||||
},
|
},
|
||||||
// delete() - Deletes a campaign at DELETE /campaigns/:id
|
// delete() - Deletes a campaign at DELETE /groups/:id
|
||||||
delete: function(id){
|
delete: function(id){
|
||||||
return api("/campaigns/" + id, "DELETE", data)
|
return api("/groups/" + id, "DELETE", data)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// templates contains the endpoints for /templates
|
||||||
|
var templates = {
|
||||||
|
// get() - Queries the API for GET /templates
|
||||||
|
get: function(){
|
||||||
|
return api("/templates", "GET", {})
|
||||||
|
},
|
||||||
|
// post() - Posts a campaign to POST /templates
|
||||||
|
post: function(template){
|
||||||
|
return api("/templates", "POST", template)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// templateId contains the endpoints for /templates/:id
|
||||||
|
var templateId = {
|
||||||
|
// get() - Queries the API for GET /templates/:id
|
||||||
|
get: function(id){
|
||||||
|
return api("/templates/" + id, "GET", {})
|
||||||
|
},
|
||||||
|
// post() - Posts a campaign to POST /templates/:id
|
||||||
|
post: function(template){
|
||||||
|
return api("/templates/" + template.id, "POST", data)
|
||||||
|
},
|
||||||
|
// put() - Puts a campaign to PUT /templates/:id
|
||||||
|
put: function (template){
|
||||||
|
return api("/templates/" + template.id, "PUT", data)
|
||||||
|
},
|
||||||
|
// delete() - Deletes a campaign at DELETE /templates/:id
|
||||||
|
delete: function(id){
|
||||||
|
return api("/templates/" + id, "DELETE", data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
</div> -->
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<button type="button" class="btn btn-primary" ng-click="newCampaign()"><i class="fa fa-plus"></i> New Campaign</button>
|
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#myModal"><i class="fa fa-plus"></i> New Campaign</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div ng-show="!campaigns.length">
|
<div ng-show="!campaigns.length">
|
||||||
|
@ -43,7 +43,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div ng-show="campaigns.length" class="row">
|
<div ng-show="campaigns.length" class="row">
|
||||||
<table id="table_id" class="table">
|
<table id="campaignTable" class="table">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Column 1</th>
|
<th>Column 1</th>
|
||||||
|
@ -88,6 +88,79 @@
|
||||||
</table> -->
|
</table> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- Modal -->
|
||||||
|
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
|
||||||
|
<div class="modal-dialog" role="document">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||||
|
<h4 class="modal-title" id="campaignModalLabel">New Campaign</h4>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<div class="row">
|
||||||
|
<!-- <div 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" 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 />
|
||||||
|
<div class="panel panel-default">
|
||||||
|
<div class="panel-heading" role="tab">
|
||||||
|
<a role="button" class="collapsed" data-toggle="collapse" href="#smtpPanel" aria-expanded="false" aria-controls="#smtpPanel">
|
||||||
|
SMTP Options <i class="pull-right glyphicon"></i>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="panel-collapse collapse" id="smtpPanel" role="tabpanel">
|
||||||
|
<div class="panel-body">
|
||||||
|
<label class="control-label" for="from">From:</label>
|
||||||
|
<input type="text" class="form-control" placeholder="First Last <test@example.com>" id="form">
|
||||||
|
<br />
|
||||||
|
<label class="control-label" for="smtp_server">Host:</label>
|
||||||
|
<input type="text" class="form-control" placeholder="smtp.example.com:25" id="smtp_server">
|
||||||
|
<br />
|
||||||
|
<label class="control-label" for="smtp_server">Username:</label>
|
||||||
|
<input type="text" class="form-control" placeholder="Username" id="smtp_server">
|
||||||
|
<br />
|
||||||
|
<label class="control-label" for="smtp_server">Password:</label>
|
||||||
|
<input type="password" class="form-control" placeholder="Password" id="smtp_server">
|
||||||
|
<br />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<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" data-dismiss="modal">Close</button>
|
||||||
|
<button type="button" class="btn btn-primary" onclick="save()">Save changes</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
{{end}}
|
{{end}}
|
||||||
{{define "scripts"}}
|
{{define "scripts"}}
|
||||||
<script src="/js/app/campaigns.js"></script>
|
<script src="/js/app/campaigns.js"></script>
|
||||||
|
|
Loading…
Reference in New Issue