Skip to content

Commit

Permalink
Updated to add BackupRetention to IncBackup and Backup models and scr…
Browse files Browse the repository at this point in the history
…ipt for future use
  • Loading branch information
meramsey committed Apr 16, 2021
1 parent 765359b commit d0edbc3
Show file tree
Hide file tree
Showing 7 changed files with 51 additions and 13 deletions.
7 changes: 3 additions & 4 deletions IncBackups/models.py
@@ -1,13 +1,13 @@


from django.db import models
from websiteFunctions.models import Websites
from datetime import datetime


class IncJob(models.Model):
website = models.ForeignKey(Websites, on_delete=models.CASCADE)
date = models.DateTimeField(default=datetime.now, blank=True)


class JobSnapshots(models.Model):
job = models.ForeignKey(IncJob, on_delete=models.CASCADE)
type = models.CharField(max_length=300)
Expand All @@ -21,10 +21,9 @@ class BackupJob(models.Model):
websiteData = models.IntegerField()
websiteDatabases = models.IntegerField()
websiteDataEmails = models.IntegerField()
retention = models.IntegerField()


class JobSites(models.Model):
job = models.ForeignKey(BackupJob, on_delete=models.CASCADE)
website = models.CharField(max_length=300)


1 change: 1 addition & 0 deletions IncBackups/static/IncBackups/IncBackups.js
Expand Up @@ -599,6 +599,7 @@ app.controller('scheduleBackupInc', function ($scope, $http) {
var data = {
backupDestinations: $scope.backupDest,
backupFreq: $scope.backupFreq,
backupRetention: $scope.backupRetention,
websiteData: $scope.websiteData,
websiteEmails: $scope.websiteEmails,
websiteDatabases: $scope.websiteDatabases,
Expand Down
14 changes: 13 additions & 1 deletion IncBackups/templates/IncBackups/backupSchedule.html
Expand Up @@ -10,7 +10,7 @@

<div class="container">
<div id="page-title">
<h2>{% trans "Schedule Back up" %} - <a target="_blank" href="http://cyberpanel.net/"
<h2>{% trans "Schedule Back up" %} - <a target="_blank" href="https://cyberpanel.net/"
style="height: 23px;line-height: 21px;"
class="btn btn-border btn-alt border-red btn-link font-red"
title=""><span>{% trans "Remote Backups" %}</span></a></h2>
Expand Down Expand Up @@ -50,6 +50,18 @@ <h3 class="title-hero">
</div>
</div>

<div ng-hide="scheduleRetention" class="form-group">
<label class="col-sm-3 control-label">{% trans "Select Backup Retention. Leave 0 for no limit" %}</label>
<div class="col-sm-9">
<div class="number">
<label>
<input ng-model="backupRetention" type="number" value="0">
</label>
</div>
</div>
</div>


<div ng-hide="scheduleFreq" class="form-group">
<label class="col-sm-3 control-label">{% trans "Backup Content" %}</label>
<div class="col-sm-9">
Expand Down
5 changes: 4 additions & 1 deletion IncBackups/views.py
Expand Up @@ -524,14 +524,16 @@ def submit_backup_schedule(request):

backup_dest = data['backupDestinations']
backup_freq = data['backupFreq']
backup_retention = data['backupRetention']
backup_sites = data['websitesToBeBacked']

backup_data = 1 if 'websiteData' in data else 0
backup_emails = 1 if 'websiteEmails' in data else 0
backup_databases = 1 if 'websiteDatabases' in data else 0

backup_job = BackupJob(websiteData=backup_data, websiteDataEmails=backup_emails,
websiteDatabases=backup_databases, destination=backup_dest, frequency=backup_freq)
websiteDatabases=backup_databases, destination=backup_dest, frequency=backup_freq,
retention=backup_retention)
backup_job.save()

for site in backup_sites:
Expand All @@ -558,6 +560,7 @@ def get_current_backup_schedules(request):
json_data.append({'id': items.id,
'destination': items.destination,
'frequency': items.frequency,
'retention': items.retention,
'numberOfSites': items.jobsites_set.all().count()
})
final_json = json.dumps({'status': 1, 'error_message': "None", "data": json_data})
Expand Down
11 changes: 10 additions & 1 deletion backup/backupManager.py
Expand Up @@ -886,6 +886,7 @@ def submitBackupSchedule(self, userID=None, data=None):
selectedAccount = data['selectedAccount']
name = data['name']
backupFrequency = data['backupFrequency']
backupRetention = data['backupRetention']

currentACL = ACLManager.loadedACL(userID)

Expand All @@ -894,7 +895,8 @@ def submitBackupSchedule(self, userID=None, data=None):

nbd = NormalBackupDests.objects.get(name=selectedAccount)

config = {'frequency': backupFrequency}
config = {'frequency': backupFrequency,
'retention': backupRetention}

nbj = NormalBackupJobs(owner=nbd, name=name, config=json.dumps(config))
nbj.save()
Expand Down Expand Up @@ -1465,6 +1467,11 @@ def fetchgNormalSites(self, request=None, userID=None, data=None):
except:
frequency = 'Never'

try:
retention = config[IncScheduler.retention]
except:
retention = 'Never'

try:
currentStatus = config[IncScheduler.currentStatus]
except:
Expand Down Expand Up @@ -1615,6 +1622,7 @@ def changeAccountFrequencyNormal(self, request=None, userID=None, data=None):

selectedJob = data['selectedJob']
backupFrequency = data['backupFrequency']
backupRetention = data['backupRetention']

nbj = NormalBackupJobs.objects.get(name=selectedJob)

Expand All @@ -1623,6 +1631,7 @@ def changeAccountFrequencyNormal(self, request=None, userID=None, data=None):

config = json.loads(nbj.config)
config[IncScheduler.frequency] = backupFrequency
config[IncScheduler.retention] = backupRetention

nbj.config = json.dumps(config)
nbj.save()
Expand Down
9 changes: 6 additions & 3 deletions backup/static/backup/backup.js
Expand Up @@ -1247,7 +1247,8 @@ app.controller('googleDrive', function ($scope, $http) {
};
var data = {
selectedAccount: $scope.selectedAccount,
backupFrequency: $scope.backupFrequency
backupFrequency: $scope.backupFrequency,
backupRetention: $scope.backupRetention,
};

dataurl = "/backup/changeAccountFrequencygDrive";
Expand Down Expand Up @@ -1654,7 +1655,8 @@ app.controller('scheduleBackup', function ($scope, $http, $window) {
var data = {
selectedAccount: $scope.selectedAccountAdd,
name: $scope.name,
backupFrequency: $scope.backupFrequency
backupFrequency: $scope.backupFrequency,
backupRetention: $scope.backupRetention,
};

dataurl = "/backup/submitBackupSchedule";
Expand Down Expand Up @@ -1856,7 +1858,8 @@ app.controller('scheduleBackup', function ($scope, $http, $window) {
};
var data = {
selectedJob: $scope.selectedJob,
backupFrequency: $scope.backupFrequency
backupFrequency: $scope.backupFrequency,
backupRetention: $scope.backupRetention,
};

dataurl = "/backup/changeAccountFrequencyNormal";
Expand Down
17 changes: 14 additions & 3 deletions backup/templates/backup/backupSchedule.html
Expand Up @@ -12,7 +12,7 @@
<div ng-controller="scheduleBackup" class="container">
<div id="page-title">
<h2>{% trans "Schedule Back up" %} - <a target="_blank"
href="http://go.cyberpanel.net/remote-backup"
href="https://go.cyberpanel.net/remote-backup"
style="height: 23px;line-height: 21px; text-decoration: underline"
class="btn btn-border btn-alt border-red btn-link font-red"
title=""><span>{% trans "Remote Backups" %}</span></a>
Expand All @@ -24,7 +24,7 @@ <h2>{% trans "Schedule Back up" %} - <a target="_blank"
<div class="panel-body">
<h3 class="title-hero">
{% trans "Create New Backup Schedule" %} <img ng-hide="cyberPanelLoading"
src="{% static 'images/loading.gif' %}">
src="{% static 'images/loading.gif' %}" alt="cyberPanelLoading">
</h3>
<div class="example-box-wrapper">

Expand Down Expand Up @@ -61,6 +61,16 @@ <h3 class="title-hero">
</div>
</div>

<div class="form-group">
<label class="col-sm-3 control-label">{% trans "Select Backup Retention. Leave 0 for no limit" %}</label>
<div class="col-sm-9">
<div class="number">
<label>
<input ng-model="backupRetention" type="number" value="0">
</label>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label"></label>
<div class="col-sm-4">
Expand All @@ -81,7 +91,7 @@ <h3 class="title-hero">
<div class="panel-body">
<h3 class="title-hero">
{% trans "Manage Existing Back up Schedules" %} <img ng-hide="cyberPanelLoading"
src="{% static 'images/loading.gif' %}">
src="{% static 'images/loading.gif' %}" alt="cyberPanelLoading">
</h3>
<div class="example-box-wrapper">

Expand Down Expand Up @@ -133,6 +143,7 @@ <h3 class="title-hero">
<th>Last Run</th>
<th>All Sites</th>
<th>Frequency ({$ currently $})</th>
<th>Retention ({$ currently $})</th>
<th>Current Status</th>
</tr>
</thead>
Expand Down

0 comments on commit d0edbc3

Please sign in to comment.