diff options
author | David Reyna <David.Reyna@windriver.com> | 2015-02-26 19:46:23 -0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-03-09 14:33:49 +0000 |
commit | 4f3664705cf17160f0112c9bad3e6800267fed94 (patch) | |
tree | 462b41c6ece589aaa413c7a858ad146b6e9f1105 /bitbake/lib/toaster/toastergui/views.py | |
parent | 48c48a41bfd0bcc5612350ef890b4566f577dc6f (diff) | |
download | poky-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-x | bitbake/lib/toaster/toastergui/views.py | 26 |
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 | ||