summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/toaster/orm/models.py
diff options
context:
space:
mode:
authorAlexandru DAMIAN <alexandru.damian@intel.com>2014-10-09 12:37:30 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-10-30 13:39:51 +0000
commita0660718e6599538dd65cadadbc04c6adc951b57 (patch)
tree530aeb143dcd059ea74e075ae6df5bab9afd7823 /bitbake/lib/toaster/orm/models.py
parent97c0beb0eb127f05e70a9c3a7202b0cba16d7152 (diff)
downloadpoky-a0660718e6599538dd65cadadbc04c6adc951b57.tar.gz
bitbake: toaster: improvements for admin pages
The default django URL validator marks git URLs as not valid, so we change the default validators to a URLValidator-derived that adds git and ssh protocol schemas and inhibits the frontend URL validator. We update the branch names based on the white-listed branch names in the Releases name. Adds proper class string to ease usage in admin section. Other small improvements. (Bitbake rev: 7d51f895bd56bd18f2258059b377851c2ce82114) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Conflicts: bitbake/lib/toaster/orm/admin.py Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/toaster/orm/models.py')
-rw-r--r--bitbake/lib/toaster/orm/models.py18
1 files changed, 12 insertions, 6 deletions
diff --git a/bitbake/lib/toaster/orm/models.py b/bitbake/lib/toaster/orm/models.py
index 309f8ea5be..2fd504cb5b 100644
--- a/bitbake/lib/toaster/orm/models.py
+++ b/bitbake/lib/toaster/orm/models.py
@@ -51,6 +51,9 @@ class ToasterSetting(models.Model):
51 helptext = models.TextField() 51 helptext = models.TextField()
52 value = models.CharField(max_length=255) 52 value = models.CharField(max_length=255)
53 53
54 def __unicode__(self):
55 return "Setting %s" % self.name
56
54class ToasterSettingDefaultLayer(models.Model): 57class ToasterSettingDefaultLayer(models.Model):
55 layer_version = models.ForeignKey('Layer_Version') 58 layer_version = models.ForeignKey('Layer_Version')
56 59
@@ -347,7 +350,7 @@ class Package(models.Model):
347 installed_name = models.CharField(max_length=100, default='') 350 installed_name = models.CharField(max_length=100, default='')
348 version = models.CharField(max_length=100, blank=True) 351 version = models.CharField(max_length=100, blank=True)
349 revision = models.CharField(max_length=32, blank=True) 352 revision = models.CharField(max_length=32, blank=True)
350 summary = models.CharField(max_length=200, blank=True) 353 summary = models.TextField(blank=True)
351 description = models.TextField(blank=True) 354 description = models.TextField(blank=True)
352 size = models.IntegerField(default=0) 355 size = models.IntegerField(default=0)
353 installed_size = models.IntegerField(default=0) 356 installed_size = models.IntegerField(default=0)
@@ -420,7 +423,7 @@ class Recipe(models.Model):
420 name = models.CharField(max_length=100, blank=True) # pn 423 name = models.CharField(max_length=100, blank=True) # pn
421 version = models.CharField(max_length=100, blank=True) # pv 424 version = models.CharField(max_length=100, blank=True) # pv
422 layer_version = models.ForeignKey('Layer_Version', related_name='recipe_layer_version') 425 layer_version = models.ForeignKey('Layer_Version', related_name='recipe_layer_version')
423 summary = models.CharField(max_length=100, blank=True) 426 summary = models.TextField(blank=True)
424 description = models.TextField(blank=True) 427 description = models.TextField(blank=True)
425 section = models.CharField(max_length=100, blank=True) 428 section = models.CharField(max_length=100, blank=True)
426 license = models.CharField(max_length=200, blank=True) 429 license = models.CharField(max_length=200, blank=True)
@@ -585,8 +588,8 @@ class LayerIndexLayerSource(LayerSource):
585 print "EE: could not connect to %s, skipping update: %s\n%s" % (self.apiurl, e, traceback.format_exc(e)) 588 print "EE: could not connect to %s, skipping update: %s\n%s" % (self.apiurl, e, traceback.format_exc(e))
586 return 589 return
587 590
588 # update branches; only those that we already have names listed in the database 591 # update branches; only those that we already have names listed in the Releases table
589 whitelist_branch_names = map(lambda x: x.name, Branch.objects.all()) 592 whitelist_branch_names = map(lambda x: x.branch, Release.objects.all())
590 593
591 branches_info = _get_json_response(apilinks['branches'] 594 branches_info = _get_json_response(apilinks['branches']
592 + "?filter=name:%s" % "OR".join(whitelist_branch_names)) 595 + "?filter=name:%s" % "OR".join(whitelist_branch_names))
@@ -667,7 +670,7 @@ class LayerIndexLayerSource(LayerSource):
667 + "?filter=layerbranch:%s" % "OR".join(map(lambda x: str(x.up_id), Layer_Version.objects.filter(layer_source = self))) 670 + "?filter=layerbranch:%s" % "OR".join(map(lambda x: str(x.up_id), Layer_Version.objects.filter(layer_source = self)))
668 ) 671 )
669 for ri in recipes_info: 672 for ri in recipes_info:
670 ro, created = Recipe.objects.get_or_create(layer_source = self, up_id = ri['id'], layer_version = Layer_Version.objects.get(layer_source = self, up_id = mi['layerbranch'])) 673 ro, created = Recipe.objects.get_or_create(layer_source = self, up_id = ri['id'], layer_version = Layer_Version.objects.get(layer_source = self, up_id = ri['layerbranch']))
671 674
672 ro.up_date = ri['updated'] 675 ro.up_date = ri['updated']
673 676
@@ -691,6 +694,9 @@ class BitbakeVersion(models.Model):
691 branch = models.CharField(max_length=32) 694 branch = models.CharField(max_length=32)
692 dirpath = models.CharField(max_length=255) 695 dirpath = models.CharField(max_length=255)
693 696
697 def __unicode__(self):
698 return "%s (%s)" % (self.name, self.branch)
699
694 700
695class Release(models.Model): 701class Release(models.Model):
696 name = models.CharField(max_length=32, unique = True) 702 name = models.CharField(max_length=32, unique = True)
@@ -734,7 +740,7 @@ class Layer(models.Model):
734 vcs_url = GitURLField(default = None, null = True) 740 vcs_url = GitURLField(default = None, null = True)
735 vcs_web_file_base_url = models.URLField(null = True, default = None) 741 vcs_web_file_base_url = models.URLField(null = True, default = None)
736 742
737 summary = models.CharField(max_length=200, help_text='One-line description of the layer', null = True, default = None) 743 summary = models.TextField(help_text='One-line description of the layer', null = True, default = None)
738 description = models.TextField(null = True, default = None) 744 description = models.TextField(null = True, default = None)
739 745
740 def __unicode__(self): 746 def __unicode__(self):