@@ -68,17 +68,17 @@ class Organization(models.Model):
68
68
editable = settings .DO_USE_GROUPS )
69
69
70
70
name_whitelist = models .TextField (blank = True ,
71
- default = "" ,
72
- verbose_name = 'Godkendte navne' )
71
+ default = "" ,
72
+ verbose_name = 'Godkendte navne' )
73
73
name_blacklist = models .TextField (blank = True ,
74
- default = "" ,
75
- verbose_name = 'Sortlistede navne' )
74
+ default = "" ,
75
+ verbose_name = 'Sortlistede navne' )
76
76
address_whitelist = models .TextField (blank = True ,
77
- default = "" ,
78
- verbose_name = 'Godkendte adresser' )
77
+ default = "" ,
78
+ verbose_name = 'Godkendte adresser' )
79
79
address_blacklist = models .TextField (blank = True ,
80
- default = "" ,
81
- verbose_name = 'Sortlistede adresser' )
80
+ default = "" ,
81
+ verbose_name = 'Sortlistede adresser' )
82
82
83
83
def __unicode__ (self ):
84
84
"""Return the name of the organization."""
@@ -95,10 +95,9 @@ class UserProfile(models.Model):
95
95
organization = models .ForeignKey (Organization ,
96
96
null = False ,
97
97
verbose_name = 'Organisation' )
98
- user = models .ForeignKey (User ,
99
- unique = True ,
100
- related_name = 'profile' ,
101
- verbose_name = 'Bruger' )
98
+ user = models .OneToOneField (User ,
99
+ related_name = 'profile' ,
100
+ verbose_name = 'Bruger' )
102
101
is_group_admin = models .BooleanField (default = False )
103
102
is_upload_only = models .BooleanField (default = False )
104
103
@@ -117,7 +116,7 @@ class Group(models.Model):
117
116
name = models .CharField (max_length = 256 , unique = True , verbose_name = 'Navn' )
118
117
contact_email = models .CharField (max_length = 256 , verbose_name = 'Email' )
119
118
contact_phone = models .CharField (max_length = 256 , verbose_name = 'Telefon' )
120
- user_profiles = models .ManyToManyField (UserProfile , null = True , blank = True ,
119
+ user_profiles = models .ManyToManyField (UserProfile , blank = True ,
121
120
verbose_name = 'Brugere' ,
122
121
related_name = 'groups' )
123
122
organization = models .ForeignKey (Organization ,
@@ -219,8 +218,10 @@ def exclusion_rule_list(self):
219
218
def root_url (self ):
220
219
"""Return the root url of the domain."""
221
220
url = self .url .replace ('*.' , '' )
222
- if (not self .url .startswith ('http://' ) and not
223
- self .url .startswith ('https://' )):
221
+ if (
222
+ not self .url .startswith ('http://' ) and not
223
+ self .url .startswith ('https://' )
224
+ ):
224
225
return 'http://%s/' % url
225
226
else :
226
227
return url
@@ -298,7 +299,7 @@ class Scanner(models.Model):
298
299
organization = models .ForeignKey (Organization , null = False ,
299
300
verbose_name = 'Organisation' )
300
301
group = models .ForeignKey (Group , null = True , blank = True ,
301
- verbose_name = 'Gruppe' )
302
+ verbose_name = 'Gruppe' )
302
303
schedule = RecurrenceField (max_length = 1024 ,
303
304
verbose_name = 'Planlagt afvikling' )
304
305
domains = models .ManyToManyField (Domain , related_name = 'scanners' ,
@@ -327,15 +328,14 @@ class Scanner(models.Model):
327
328
verbose_name = 'Brug HEAD request'
328
329
)
329
330
do_collect_cookies = models .BooleanField (default = False ,
330
- verbose_name = 'Saml cookies' )
331
+ verbose_name = 'Saml cookies' )
331
332
columns = models .CommaSeparatedIntegerField (max_length = 128 ,
332
333
null = True ,
333
334
blank = True )
334
335
regex_rules = models .ManyToManyField (RegexRule ,
335
336
blank = True ,
336
- null = True ,
337
337
verbose_name = 'Regex regler' )
338
- recipients = models .ManyToManyField (UserProfile , null = True , blank = True ,
338
+ recipients = models .ManyToManyField (UserProfile , blank = True ,
339
339
verbose_name = 'Modtagere' )
340
340
341
341
# Spreadsheet annotation and replacement parameters
@@ -434,7 +434,7 @@ def schedule_description(self):
434
434
def has_active_scans (self ):
435
435
"""Whether the scanner has active scans."""
436
436
active_scanners = Scan .objects .filter (scanner = self , status__in = (
437
- Scan .NEW , Scan .STARTED )).count ()
437
+ Scan .NEW , Scan .STARTED )).count ()
438
438
return active_scanners > 0
439
439
440
440
@property
@@ -443,9 +443,9 @@ def has_valid_domains(self):
443
443
444
444
# Run error messages
445
445
ALREADY_RUNNING = ("Scanneren kunne ikke startes," +
446
- " fordi der allerede er en scanning i gang for den." )
446
+ " fordi der allerede er en scanning i gang for den." )
447
447
NO_VALID_DOMAINS = ("Scanneren kunne ikke startes," +
448
- " fordi den ikke har nogen gyldige domæner." )
448
+ " fordi den ikke har nogen gyldige domæner." )
449
449
450
450
def run (self , test_only = False , blocking = False , user = None ):
451
451
"""Run a scan with the Scanner.
@@ -466,7 +466,7 @@ def run(self, test_only=False, blocking=False, user=None):
466
466
scan = Scan .create (self )
467
467
# Add user as recipient on scan
468
468
if user :
469
- scan .recipients .add (user .get_profile () )
469
+ scan .recipients .add (user .profile )
470
470
# Get path to run script
471
471
SCRAPY_WEBSCANNER_DIR = os .path .join (base_dir , "scrapy-webscanner" )
472
472
@@ -526,13 +526,14 @@ class Scan(models.Model):
526
526
default = "" ,
527
527
verbose_name = 'Sortlistede navne' )
528
528
whitelisted_addresses = models .TextField (max_length = 4096 , blank = True ,
529
- default = "" ,
530
- verbose_name = 'Godkendte adresser' )
531
- blacklisted_addresses = models .TextField (max_length = 4096 , blank = True ,
532
- default = "" ,
533
- verbose_name = 'Sortlistede adresser' )
529
+ default = "" ,
530
+ verbose_name = 'Godkendte adresser' )
531
+ blacklisted_addresses = models .TextField (
532
+ max_length = 4096 , blank = True ,
533
+ default = "" ,
534
+ verbose_name = 'Sortlistede adresser'
535
+ )
534
536
domains = models .ManyToManyField (Domain ,
535
- null = True ,
536
537
verbose_name = 'Domæner' )
537
538
do_cpr_scan = models .BooleanField (default = True , verbose_name = 'CPR' )
538
539
do_name_scan = models .BooleanField (default = False , verbose_name = 'Navn' )
@@ -558,16 +559,15 @@ class Scan(models.Model):
558
559
verbose_name = 'Brug HEAD request'
559
560
)
560
561
do_collect_cookies = models .BooleanField (default = False ,
561
- verbose_name = 'Saml cookies' )
562
+ verbose_name = 'Saml cookies' )
562
563
563
564
columns = models .CommaSeparatedIntegerField (max_length = 128 ,
564
565
null = True ,
565
566
blank = True )
566
567
regex_rules = models .ManyToManyField (RegexRule ,
567
568
blank = True ,
568
- null = True ,
569
569
verbose_name = 'Regex regler' )
570
- recipients = models .ManyToManyField (UserProfile , null = True , blank = True )
570
+ recipients = models .ManyToManyField (UserProfile , blank = True )
571
571
572
572
# Spreadsheet annotation and replacement parameters
573
573
@@ -810,15 +810,19 @@ def save(self, *args, **kwargs):
810
810
used by the scan.
811
811
"""
812
812
# Pre-save stuff
813
- if (self .status in [Scan .DONE , Scan .FAILED ] and
814
- (self ._old_status != self .status )):
813
+ if (
814
+ self .status in [Scan .DONE , Scan .FAILED ] and
815
+ (self ._old_status != self .status )
816
+ ):
815
817
self .end_time = datetime .datetime .now ()
816
818
# Actual save
817
819
super (Scan , self ).save (* args , ** kwargs )
818
820
# Post-save stuff
819
821
820
- if (self .status in [Scan .DONE , Scan .FAILED ] and
821
- (self ._old_status != self .status )):
822
+ if (
823
+ self .status in [Scan .DONE , Scan .FAILED ] and
824
+ (self ._old_status != self .status )
825
+ ):
822
826
# Send email
823
827
from os2webscanner .utils import notify_user
824
828
try :
@@ -840,7 +844,7 @@ def cleanup_finished_scan(self, log=False):
840
844
if pending_items .exists ():
841
845
print "Deleting %d remaining conversion queue items from " \
842
846
"finished scan %s" % (
843
- pending_items .count (), self )
847
+ pending_items .count (), self )
844
848
845
849
pending_items .delete ()
846
850
@@ -940,7 +944,7 @@ class Url(models.Model):
940
944
verbose_name = 'Status ' + 'Message' )
941
945
referrers = models .ManyToManyField ("ReferrerUrl" ,
942
946
related_name = 'linked_urls' ,
943
- null = True , verbose_name = 'Referrers' )
947
+ verbose_name = 'Referrers' )
944
948
945
949
def __unicode__ (self ):
946
950
"""Return the URL."""
@@ -1064,9 +1068,9 @@ class UrlLastModified(models.Model):
1064
1068
1065
1069
url = models .CharField (max_length = 2048 , verbose_name = 'Url' )
1066
1070
last_modified = models .DateTimeField (blank = True , null = True ,
1067
- verbose_name = 'Last-modified' )
1071
+ verbose_name = 'Last-modified' )
1068
1072
links = models .ManyToManyField ("self" , symmetrical = False ,
1069
- null = True , verbose_name = 'Links' )
1073
+ verbose_name = 'Links' )
1070
1074
scanner = models .ForeignKey (Scanner , null = False , verbose_name = 'Scanner' )
1071
1075
1072
1076
def __unicode__ (self ):
@@ -1085,15 +1089,15 @@ class Summary(models.Model):
1085
1089
schedule = RecurrenceField (max_length = 1024 ,
1086
1090
verbose_name = 'Planlagt afvikling' )
1087
1091
last_run = models .DateTimeField (blank = True , null = True ,
1088
- verbose_name = 'Sidste kørsel' )
1089
- recipients = models .ManyToManyField (UserProfile , null = True , blank = True ,
1092
+ verbose_name = 'Sidste kørsel' )
1093
+ recipients = models .ManyToManyField (UserProfile , blank = True ,
1090
1094
verbose_name = "Modtagere" )
1091
- scanners = models .ManyToManyField (Scanner , null = True , blank = True ,
1095
+ scanners = models .ManyToManyField (Scanner , blank = True ,
1092
1096
verbose_name = "Scannere" )
1093
1097
organization = models .ForeignKey (Organization , null = False ,
1094
1098
verbose_name = 'Organisation' )
1095
1099
group = models .ForeignKey (Group , null = True , blank = True ,
1096
- verbose_name = 'Gruppe' )
1100
+ verbose_name = 'Gruppe' )
1097
1101
do_email_recipients = models .BooleanField (default = False ,
1098
1102
verbose_name = "Udsend mails" )
1099
1103
@@ -1124,7 +1128,7 @@ class Md5Sum(models.Model):
1124
1128
1125
1129
class Meta :
1126
1130
unique_together = ('md5' , 'is_cpr_scan' , 'is_check_mod11' ,
1127
- 'is_ignore_irrelevant' , 'organization' )
1131
+ 'is_ignore_irrelevant' , 'organization' )
1128
1132
1129
1133
def __unicode__ (self ):
1130
1134
return u"{0}: {1}" .format (self .organization .name , self .md5 )
0 commit comments