diff --git a/frontend/src/components/project/views/ProjectList.vue b/frontend/src/components/project/views/ProjectList.vue
index c352731f4..51da0ce7d 100644
--- a/frontend/src/components/project/views/ProjectList.vue
+++ b/frontend/src/components/project/views/ProjectList.vue
@@ -204,8 +204,7 @@ onMounted(async () => {
ctaVisible.value = true
})
-const canDragTasks = computed(() => (canWrite.value || isSavedFilter(project.value)) && !includeSubprojects.value)
-
+const canDragTasks = computed(() => canWrite.value || isSavedFilter(project.value))
const isTouchDevice = ref(false)
if (typeof window !== 'undefined') {
isTouchDevice.value = !window.matchMedia('(hover: hover) and (pointer: fine)').matches
diff --git a/frontend/src/components/project/views/ViewEditForm.vue b/frontend/src/components/project/views/ViewEditForm.vue
index a24a45f7d..ba44a28fc 100644
--- a/frontend/src/components/project/views/ViewEditForm.vue
+++ b/frontend/src/components/project/views/ViewEditForm.vue
@@ -190,21 +190,22 @@ function handleBubbleSave() {
-
- {{ $t('project.views.includeSubprojects') }}
-
+
+
+ {{ $t('project.views.includeSubprojects') }}
+
+
-
-
- {{ $t('filters.attributes.includeNulls') }}
-
-
+
+
+ {{ $t('filters.attributes.includeNulls') }}
+
+
- {{ projectLabel }}
+ {{ project.title }}
-
{
} : baseStore.currentProject
})
-const projectLabel = computed(() => {
- if (!project.value) {
- return ''
- }
- return project.value.title
-})
const taskDetailRoute = computed(() => ({
name: 'task.detail',
diff --git a/pkg/models/project_view.go b/pkg/models/project_view.go
index 85aa6fe6a..dbb795f03 100644
--- a/pkg/models/project_view.go
+++ b/pkg/models/project_view.go
@@ -162,7 +162,6 @@ type ProjectView struct {
// The filter query to match tasks by. Check out https://vikunja.io/docs/filters for a full explanation.
Filter *TaskCollection `xorm:"json null default null" query:"filter" json:"filter" doc:"The filter query used to match tasks shown in this view. See https://vikunja.io/docs/filters."`
// The position of this view in the list. The list of all views will be sorted by this position.
-// The position of this view in the list. The list of all views will be sorted by this position.
Position float64 `xorm:"double null" json:"position" doc:"The position of this view in the list. The list of all views will be sorted by this position."`
// If enabled, this view also includes tasks from all descendant subprojects.
IncludeSubprojects bool `xorm:"default false not null" json:"include_subprojects"`