diff options
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 | ||