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