diff options
Diffstat (limited to 'bitbake/lib/toaster/orm/models.py')
| -rw-r--r-- | bitbake/lib/toaster/orm/models.py | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/bitbake/lib/toaster/orm/models.py b/bitbake/lib/toaster/orm/models.py index 0174233498..4a868e7ded 100644 --- a/bitbake/lib/toaster/orm/models.py +++ b/bitbake/lib/toaster/orm/models.py | |||
| @@ -91,18 +91,25 @@ class ProjectManager(models.Manager): | |||
| 91 | 91 | ||
| 92 | return prj | 92 | return prj |
| 93 | 93 | ||
| 94 | def create(self, *args, **kwargs): | ||
| 95 | raise Exception("Invalid call to Project.objects.create. Use Project.objects.create_project() to create a project") | ||
| 96 | |||
| 97 | # return single object with is_default = True | 94 | # return single object with is_default = True |
| 98 | def get_default_project(self): | 95 | def get_or_create_default_project(self): |
| 99 | projects = super(ProjectManager, self).filter(is_default = True) | 96 | projects = super(ProjectManager, self).filter(is_default = True) |
| 97 | |||
| 100 | if len(projects) > 1: | 98 | if len(projects) > 1: |
| 101 | raise Exception("Inconsistent project data: multiple " + | 99 | raise Exception('Inconsistent project data: multiple ' + |
| 102 | "default projects (i.e. with is_default=True)") | 100 | 'default projects (i.e. with is_default=True)') |
| 103 | elif len(projects) < 1: | 101 | elif len(projects) < 1: |
| 104 | raise Exception("Inconsistent project data: no default project found") | 102 | options = { |
| 105 | return projects[0] | 103 | 'name': 'Command line builds', |
| 104 | 'short_description': 'Project for builds started outside Toaster', | ||
| 105 | 'is_default': True | ||
| 106 | } | ||
| 107 | project = Project.objects.create(**options) | ||
| 108 | project.save() | ||
| 109 | |||
| 110 | return project | ||
| 111 | else: | ||
| 112 | return projects[0] | ||
| 106 | 113 | ||
| 107 | class Project(models.Model): | 114 | class Project(models.Model): |
| 108 | search_allowed_fields = ['name', 'short_description', 'release__name', 'release__branch_name'] | 115 | search_allowed_fields = ['name', 'short_description', 'release__name', 'release__branch_name'] |
