From 4f3664705cf17160f0112c9bad3e6800267fed94 Mon Sep 17 00:00:00 2001 From: David Reyna Date: Thu, 26 Feb 2015 19:46:23 -0800 Subject: bitbake: toaster: hide special code for core vars not present, disable add button Hide the special config variable management sections when the respective variables are not present. Disable the variable add button after a variable is added so that blank values cannot be added, and also when a variable name managed in the project detail page (e.g. BBLAYERS and MACHINE) is entered. [YOCTO #7246] [YOCTO #7371] (Bitbake rev: 1f9aaa7747351f7b0063f80c56cf7fa2c9cc3cf9) Signed-off-by: David Reyna Signed-off-by: Richard Purdie --- bitbake/lib/toaster/toastergui/views.py | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) (limited to 'bitbake/lib/toaster/toastergui/views.py') diff --git a/bitbake/lib/toaster/toastergui/views.py b/bitbake/lib/toaster/toastergui/views.py index ed27ca0ac9..df893483c6 100755 --- a/bitbake/lib/toaster/toastergui/views.py +++ b/bitbake/lib/toaster/toastergui/views.py @@ -2418,11 +2418,17 @@ if toastermain.settings.MANAGED: t=request.POST['configvarDel'].strip() pt = ProjectVariable.objects.get(pk = int(t)).delete() - # return all project settings + # return all project settings, filter out blacklist and elsewhere-managed variables vars_managed,vars_fstypes,vars_blacklist = get_project_configvars_context() + configvars_query = ProjectVariable.objects.filter(project_id = pid).all() + for var in vars_managed: + configvars_query = configvars_query.exclude(name = var) + for var in vars_blacklist: + configvars_query = configvars_query.exclude(name = var) + return_data = { "error": "ok", - 'configvars' : map(lambda x: (x.name, x.value, x.pk), ProjectVariable.objects.filter(project_id = pid).all()), + 'configvars' : map(lambda x: (x.name, x.value, x.pk), configvars_query), } try: return_data['distro'] = ProjectVariable.objects.get(project = prj, name = "DISTRO").value, @@ -2899,7 +2905,7 @@ if toastermain.settings.MANAGED: def get_project_configvars_context(): # Vars managed outside of this view vars_managed = { - 'MACHINE' + 'MACHINE', 'BBLAYERS' } vars_blacklist = { @@ -2926,9 +2932,16 @@ if toastermain.settings.MANAGED: except Project.DoesNotExist: return HttpResponseNotFound("

Project id " + pid + " is unavailable

") + # remove blacklist and externally managed varaibles from this list vars_managed,vars_fstypes,vars_blacklist = get_project_configvars_context() + configvars = ProjectVariable.objects.filter(project_id = pid).all() + for var in vars_managed: + configvars = configvars.exclude(name = var) + for var in vars_blacklist: + configvars = configvars.exclude(name = var) + context = { - 'configvars': ProjectVariable.objects.filter(project_id = pid).all(), + 'configvars': configvars, 'vars_managed': vars_managed, 'vars_fstypes': vars_fstypes, 'vars_blacklist': vars_blacklist, @@ -2936,22 +2949,27 @@ if toastermain.settings.MANAGED: try: context['distro'] = ProjectVariable.objects.get(project = prj, name = "DISTRO").value + context['distro_defined'] = "1" except ProjectVariable.DoesNotExist: pass try: context['fstypes'] = ProjectVariable.objects.get(project = prj, name = "IMAGE_FSTYPES").value + context['fstypes_defined'] = "1" except ProjectVariable.DoesNotExist: pass try: context['image_install_append'] = ProjectVariable.objects.get(project = prj, name = "IMAGE_INSTALL_append").value + context['image_install_append_defined'] = "1" except ProjectVariable.DoesNotExist: pass try: context['package_classes'] = ProjectVariable.objects.get(project = prj, name = "PACKAGE_CLASSES").value + context['package_classes_defined'] = "1" except ProjectVariable.DoesNotExist: pass try: context['sdk_machine'] = ProjectVariable.objects.get(project = prj, name = "SDKMACHINE").value + context['sdk_machine_defined'] = "1" except ProjectVariable.DoesNotExist: pass -- cgit v1.2.3-54-g00ecf