summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/toaster/toastergui/views.py
diff options
context:
space:
mode:
authorDavid Reyna <David.Reyna@windriver.com>2015-02-26 19:46:23 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-03-09 14:33:49 +0000
commit4f3664705cf17160f0112c9bad3e6800267fed94 (patch)
tree462b41c6ece589aaa413c7a858ad146b6e9f1105 /bitbake/lib/toaster/toastergui/views.py
parent48c48a41bfd0bcc5612350ef890b4566f577dc6f (diff)
downloadpoky-4f3664705cf17160f0112c9bad3e6800267fed94.tar.gz
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 <David.Reyna@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/toaster/toastergui/views.py')
-rwxr-xr-xbitbake/lib/toaster/toastergui/views.py26
1 files changed, 22 insertions, 4 deletions
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:
2418 t=request.POST['configvarDel'].strip() 2418 t=request.POST['configvarDel'].strip()
2419 pt = ProjectVariable.objects.get(pk = int(t)).delete() 2419 pt = ProjectVariable.objects.get(pk = int(t)).delete()
2420 2420
2421 # return all project settings 2421 # return all project settings, filter out blacklist and elsewhere-managed variables
2422 vars_managed,vars_fstypes,vars_blacklist = get_project_configvars_context() 2422 vars_managed,vars_fstypes,vars_blacklist = get_project_configvars_context()
2423 configvars_query = ProjectVariable.objects.filter(project_id = pid).all()
2424 for var in vars_managed:
2425 configvars_query = configvars_query.exclude(name = var)
2426 for var in vars_blacklist:
2427 configvars_query = configvars_query.exclude(name = var)
2428
2423 return_data = { 2429 return_data = {
2424 "error": "ok", 2430 "error": "ok",
2425 'configvars' : map(lambda x: (x.name, x.value, x.pk), ProjectVariable.objects.filter(project_id = pid).all()), 2431 'configvars' : map(lambda x: (x.name, x.value, x.pk), configvars_query),
2426 } 2432 }
2427 try: 2433 try:
2428 return_data['distro'] = ProjectVariable.objects.get(project = prj, name = "DISTRO").value, 2434 return_data['distro'] = ProjectVariable.objects.get(project = prj, name = "DISTRO").value,
@@ -2899,7 +2905,7 @@ if toastermain.settings.MANAGED:
2899 def get_project_configvars_context(): 2905 def get_project_configvars_context():
2900 # Vars managed outside of this view 2906 # Vars managed outside of this view
2901 vars_managed = { 2907 vars_managed = {
2902 'MACHINE' 2908 'MACHINE', 'BBLAYERS'
2903 } 2909 }
2904 2910
2905 vars_blacklist = { 2911 vars_blacklist = {
@@ -2926,9 +2932,16 @@ if toastermain.settings.MANAGED:
2926 except Project.DoesNotExist: 2932 except Project.DoesNotExist:
2927 return HttpResponseNotFound("<h1>Project id " + pid + " is unavailable</h1>") 2933 return HttpResponseNotFound("<h1>Project id " + pid + " is unavailable</h1>")
2928 2934
2935 # remove blacklist and externally managed varaibles from this list
2929 vars_managed,vars_fstypes,vars_blacklist = get_project_configvars_context() 2936 vars_managed,vars_fstypes,vars_blacklist = get_project_configvars_context()
2937 configvars = ProjectVariable.objects.filter(project_id = pid).all()
2938 for var in vars_managed:
2939 configvars = configvars.exclude(name = var)
2940 for var in vars_blacklist:
2941 configvars = configvars.exclude(name = var)
2942
2930 context = { 2943 context = {
2931 'configvars': ProjectVariable.objects.filter(project_id = pid).all(), 2944 'configvars': configvars,
2932 'vars_managed': vars_managed, 2945 'vars_managed': vars_managed,
2933 'vars_fstypes': vars_fstypes, 2946 'vars_fstypes': vars_fstypes,
2934 'vars_blacklist': vars_blacklist, 2947 'vars_blacklist': vars_blacklist,
@@ -2936,22 +2949,27 @@ if toastermain.settings.MANAGED:
2936 2949
2937 try: 2950 try:
2938 context['distro'] = ProjectVariable.objects.get(project = prj, name = "DISTRO").value 2951 context['distro'] = ProjectVariable.objects.get(project = prj, name = "DISTRO").value
2952 context['distro_defined'] = "1"
2939 except ProjectVariable.DoesNotExist: 2953 except ProjectVariable.DoesNotExist:
2940 pass 2954 pass
2941 try: 2955 try:
2942 context['fstypes'] = ProjectVariable.objects.get(project = prj, name = "IMAGE_FSTYPES").value 2956 context['fstypes'] = ProjectVariable.objects.get(project = prj, name = "IMAGE_FSTYPES").value
2957 context['fstypes_defined'] = "1"
2943 except ProjectVariable.DoesNotExist: 2958 except ProjectVariable.DoesNotExist:
2944 pass 2959 pass
2945 try: 2960 try:
2946 context['image_install_append'] = ProjectVariable.objects.get(project = prj, name = "IMAGE_INSTALL_append").value 2961 context['image_install_append'] = ProjectVariable.objects.get(project = prj, name = "IMAGE_INSTALL_append").value
2962 context['image_install_append_defined'] = "1"
2947 except ProjectVariable.DoesNotExist: 2963 except ProjectVariable.DoesNotExist:
2948 pass 2964 pass
2949 try: 2965 try:
2950 context['package_classes'] = ProjectVariable.objects.get(project = prj, name = "PACKAGE_CLASSES").value 2966 context['package_classes'] = ProjectVariable.objects.get(project = prj, name = "PACKAGE_CLASSES").value
2967 context['package_classes_defined'] = "1"
2951 except ProjectVariable.DoesNotExist: 2968 except ProjectVariable.DoesNotExist:
2952 pass 2969 pass
2953 try: 2970 try:
2954 context['sdk_machine'] = ProjectVariable.objects.get(project = prj, name = "SDKMACHINE").value 2971 context['sdk_machine'] = ProjectVariable.objects.get(project = prj, name = "SDKMACHINE").value
2972 context['sdk_machine_defined'] = "1"
2955 except ProjectVariable.DoesNotExist: 2973 except ProjectVariable.DoesNotExist:
2956 pass 2974 pass
2957 2975