Glenn Wilkinson
3692fcc680
Updated how targets are added to a group, improving efficiency
2020-10-28 18:17:58 +01:00
Glenn Wilkinson
b9374aaffe
Reverted models.GetGroup to original and created new GetDataTable function to handle pagination requests. Neater, and allowed for retrieval of filter count when searching
2020-10-24 18:28:51 +02:00
Glenn Wilkinson
fe3fd9516d
Fixed search bug to work with MySQL
2020-10-24 11:40:24 +02:00
Glenn Wilkinson
90d46eb463
Initial suport for pagination
...
This commit adds support for pagination for users (Users and Groups menu item).
2020-10-23 18:56:00 +02:00
Jordan Wright
ec8b17238e
General code cleanup as part of an effort to integrate staticcheck into our CI pipeline.
2020-05-25 21:46:36 -05:00
Jordan Wright
546da4ee7d
Removing unneeded query to improve group performance.
...
As mentioned in #1702 , the query in `insertTargetIntoGroup` isn't needed, since both instances where it's used we already know that the target isn't in the group. This means it's safe to remove that query, improving performance dramatically.
Before:
```
BenchmarkPostGroup100-4 81 12629754 ns/op 2989993 B/op 52918 allocs/op
BenchmarkPostGroup1000-4 6 189527792 ns/op 29891818 B/op 528082 allocs/op
BenchmarkPostGroup10000-4 1 6203645806 ns/op 299253648 B/op 5282859 allocs/op
BenchmarkPutGroup100-4 100 10221833 ns/op 2589165 B/op 46078 allocs/op
BenchmarkPutGroup1000-4 7 162692432 ns/op 25812440 B/op 458425 allocs/op
BenchmarkPutGroup10000-4 1 7596445084 ns/op 260385808 B/op 4581569 allocs/op
```
After:
```
BenchmarkPostGroup100-4 133 8848973 ns/op 2354605 B/op 42322 allocs/op
BenchmarkPostGroup1000-4 9 112557410 ns/op 23549206 B/op 422184 allocs/op
BenchmarkPostGroup10000-4 1 3414209403 ns/op 235635952 B/op 4222090 allocs/op
BenchmarkPutGroup100-4 147 8094333 ns/op 2271297 B/op 40777 allocs/op
BenchmarkPutGroup1000-4 9 125092124 ns/op 22635067 B/op 405421 allocs/op
BenchmarkPutGroup10000-4 1 5712591900 ns/op 228592920 B/op 4051316 allocs/op
```
2020-01-16 20:41:13 -06:00
Jordan Wright
44f88401bb
Performance Improvements for Campaign and Group Creation ( #1686 )
...
This commit significantly improves the performance of campaign and group creation by changing database access to use transactions.
It should also make things more consistent with campaign creation. Specifically, this will ensure that the entire campaign gets created before emails start sending, while I anticipate this will fix #1643 , #1080 , (possibly) #1677 , and #1552 .
2019-12-02 23:00:11 -06:00
Jordan Wright
47f0049c30
Refactor servers ( #1321 )
...
* Refactoring servers to support custom workers and graceful shutdown.
* Refactoring workers to support custom mailers.
* Refactoring mailer to be an interface, with proper instances instead of a single global instance
* Cleaning up a few things. Locking maillogs for campaigns set to launch immediately to prevent a race condition.
* Cleaning up API middleware to be simpler
* Moving template parameters to separate struct
* Changed LoadConfig to return config object
* Cleaned up some error handling, removing uninitialized global error in models package
* Changed static file serving to use the unindexed package
2018-12-15 15:42:32 -06:00
Jordan Wright
ebb6cd61b2
Implemented the ability to preview landing pages when sending a test email.
2018-06-08 21:20:52 -05:00
Jordan Wright
5d23263898
Moved logging to logrus package. Not perfect yet (still want to update the access logs), but should set the foundation to make better logging in the future.
2018-05-03 19:07:41 -05:00
Jordan Wright
269568148e
Phishing emails are now sent in "First Last <email@domain.com>" format.
2017-06-16 22:21:08 -05:00
Jordan Wright
7453fd3b48
Added summary routes for groups.
...
Routes:
/api/groups/summary
/api/groups/:id/summary
The UI is now using these routes for the "Users & Groups" page.
2017-01-14 17:26:04 -06:00
Rob Cutmore
ec1c711b9b
Allow group targets to be updated, fixes #18
2016-07-02 08:01:24 -04:00
Rob Cutmore
34021d9e3a
Update comments for PutGroup function
2016-06-26 09:31:03 -04:00
Jordan Wright
d43a888b26
Updating gorm constructs to support gorm v1.0 released yesterday.
2016-03-08 22:37:55 -06:00
Jordan Wright
e4d6e68147
Added ability to send a test email before launching a campaign
2016-01-24 20:03:53 -06:00
unknown
eacb4ddfd4
Fixed /users endpoint to now have the following functionality:
...
- Edit
- Delete
Also added group validation on PUT /api/groups/:id
2015-08-05 00:23:05 -05:00
unknown
0b73d5f6ee
Can now use Position in CSV import.
...
Added Position attribute to Target model.
Fixes #17
2015-02-21 11:36:08 -06:00
unknown
be9064f718
Added ability to delete campaign from campaign results - needs some cleanup, but it works
2015-02-21 01:27:32 -06:00
unknown
66dbe2e799
Cleaned up error messages - *all* errors in JSON format
...
Cleaned up flashes - fixes #13
Added specified errors - more to come soon
Added Campaign validation
Added Group validation
Cleaned up the way angular errors are handled. Will double check, but for the most part fixes #11
Results are now shown on the webui with most recent shown first
Added comments, additional cleanup, etc.
2015-02-21 00:11:22 -06:00
unknown
ab8dfc8bb3
Fixed #14
2015-02-17 22:53:19 -06:00
unknown
669d96d279
More work implementing pages.
...
More cleanup - changing *all* API errors to be returned via JSON
Fixed bug where /api/pages/ was not csrf exempt
Changed db column/table names to be more user friendly in the case of acronyms (Id, SMTP, etc.)
2015-02-07 14:31:41 -06:00
Jordan
efec86ae56
Added util package for handling misc. tasks
...
Added basic (*not finished*) functionality for handling bulk user insert
2014-06-21 21:06:16 -05:00
Jordan
851ba9de30
Fixed double insertion of results when worker handles campaign (looks like a bug in gorm)
...
Removed handy abbreviation due to latest commit in gorm (this is why we can't have nice things :smile)
2014-05-28 22:20:58 -05:00
Jordan
f0e7ac46c8
Integrated gorm with templates - Gorm integration complete
...
Updated groups to belong to one user. I may make a Team and TeamGroups, and TeamUsers m2m relationships later.
Added another test - more on the way soon.
2014-03-27 13:19:57 -05:00
Jordan
776f591f68
Cleaned up old gorp code
...
Bug fix in settings template
2014-03-26 15:01:49 -05:00
Jordan
6e5361b210
Continuing gorm integration
...
Todo:
Templates
2014-03-26 14:32:48 -05:00
Jordan
e137126a90
Working on gorm integration
...
TODO:
[ ] Finish up groups (many-to-many with group_targets)
[ ] Convert Template models
2014-03-25 23:53:51 -05:00
Jordan
584d7dbc23
Major refactoring - modularized models into separate files. Removed db package (moved to models)
...
I will be looking to migrate to gorm (instead of gorp) soon!
2014-03-24 22:31:33 -05:00