[UPDT] GENERIC: Moved hidden tab configuration in profile view from init to get_context
This commit is contained in:
@@ -2324,30 +2324,6 @@ class HorillaProfileView(DetailView):
|
||||
)
|
||||
tab["url"] = "/" + url + "/{pk}/"
|
||||
|
||||
# hidden columns configuration
|
||||
|
||||
existing_instance = models.ToggleColumn.objects.filter(
|
||||
user_id=request.user, path=request.path_info
|
||||
).first()
|
||||
|
||||
self.visible_tabs = self.tabs.copy()
|
||||
|
||||
self.tabs_list = [(tab["title"], tab["title"]) for tab in self.visible_tabs]
|
||||
|
||||
hidden_tabs = (
|
||||
[] if not existing_instance else existing_instance.excluded_columns
|
||||
)
|
||||
self.toggle_form = ToggleColumnForm(
|
||||
self.tabs_list,
|
||||
hidden_tabs,
|
||||
hidden_fields=[],
|
||||
)
|
||||
for column in self.tabs_list:
|
||||
if column[1] in hidden_tabs:
|
||||
for tab in self.visible_tabs:
|
||||
if tab["title"] == column[1]:
|
||||
self.visible_tabs.remove(tab)
|
||||
|
||||
@classmethod
|
||||
def add_tab(cls, tab: dict = None, index: int = None, tabs: list = None) -> None:
|
||||
"""
|
||||
@@ -2388,8 +2364,6 @@ class HorillaProfileView(DetailView):
|
||||
context = super().get_context_data(**kwargs)
|
||||
context["instance"] = context["object"]
|
||||
context["tabs"] = self.tabs
|
||||
context["visible_tabs"] = self.visible_tabs
|
||||
context["toggle_form"] = self.toggle_form
|
||||
context["view_id"] = self.view_id
|
||||
active_tab = models.ActiveTab.objects.filter(
|
||||
created_by=self.request.user, path=self.request.path
|
||||
@@ -2422,6 +2396,30 @@ class HorillaProfileView(DetailView):
|
||||
url = resolve(self.request.path)
|
||||
key = list(url.kwargs.keys())[0]
|
||||
|
||||
# hidden columns configuration
|
||||
|
||||
existing_instance = models.ToggleColumn.objects.filter(
|
||||
user_id=self.request.user, path=self.request.path_info
|
||||
).first()
|
||||
|
||||
self.visible_tabs = self.tabs.copy()
|
||||
|
||||
self.tabs_list = [(tab["title"], tab["title"]) for tab in self.visible_tabs]
|
||||
|
||||
hidden_tabs = (
|
||||
[] if not existing_instance else existing_instance.excluded_columns
|
||||
)
|
||||
self.toggle_form = ToggleColumnForm(
|
||||
self.tabs_list,
|
||||
hidden_tabs,
|
||||
hidden_fields=[],
|
||||
)
|
||||
for column in self.tabs_list:
|
||||
if column[1] in hidden_tabs:
|
||||
for tab in self.visible_tabs:
|
||||
if tab["title"] == column[1]:
|
||||
self.visible_tabs.remove(tab)
|
||||
|
||||
url_name = url.url_name
|
||||
next_url = reverse(url_name, kwargs={key: next_id})
|
||||
previous_url = reverse(url_name, kwargs={key: previous_id})
|
||||
@@ -2438,6 +2436,8 @@ class HorillaProfileView(DetailView):
|
||||
context["display_count"] = display_count
|
||||
context["actions"] = self.actions
|
||||
context["filter_class"] = self.filter_class
|
||||
context["visible_tabs"] = self.visible_tabs
|
||||
context["toggle_form"] = self.toggle_form
|
||||
cache = {
|
||||
"instances": context["instances"],
|
||||
"instance_ids": context["instance_ids"],
|
||||
|
||||
Reference in New Issue
Block a user