import re def fix_columns(): with open('app/modules/sag/templates/detail.html', 'r', encoding='utf-8') as f: html = f.read() # Udskift selve start containeren! # Målet er at omdanne: #
... (Hero card, etc.) #
... (Tidsreg, etc.) # Fordi det er komplekst at udtrække hver enkelt data-module fra en stor fil uden at tabe layout, # griber vi det an ved at ændre CSS klasserne på container niveauet HVIS vi kun ville ha flex, # men for rigtige 3 kolonner flytter vi `case-left-column`s grid definitioner. # Vi kan bygge 3 kolonner inde "case-left-column" + "case-right-column" er den 3. kolonne. # Så left -> 2 kolonner, right -> 1 kolonne. Total 3. # Nu er left = col-lg-8. Vi gør den til col-xl-9 col-lg-8. # Right = col-lg-4. Bliver til col-xl-3 col-lg-4. # INDE i left: # Put et grid:
(Venstre)
(Midten med Opgavebeskivelse)
# Step 1: Let's find "id="case-left-column"" html = html.replace('
', '
\n
\n\n
\n
\n\n
\n') html = html.replace('
', '
\n
\n
') # Now we need to MOVE widgets from "inner-center-col" (where everything currently is) to "inner-left-col". # The widgets we want to move are: # 'relations' # 'call-history' # 'pipeline' def move_widget(widget_name, dest_id, current_html): pattern = f'data-module="{widget_name}"' match = current_html.find(pattern) if match == -1: return current_html div_start = current_html.rfind('
\n' dest_pos = current_html.find(dest_pattern) if dest_pos != -1: insert_pos = dest_pos + len(dest_pattern) current_html = current_html[:insert_pos] + widget + "\n" + current_html[insert_pos:] return current_html html = move_widget('relations', 'inner-left-col', html) html = move_widget('call-history', 'inner-left-col', html) html = move_widget('pipeline', 'inner-left-col', html) # Nogle widgets ligger i right-col, som vi gerne vil have i left col nu? # Contacts, Customers, Locations # De ligger ikke i en
, de er bare direkte `
{widget}
' current_html = current_html[:div_start] + current_html[end_idx:] dest_pattern = f'id="{dest_id}">\n' dest_pos = current_html.find(dest_pattern) if dest_pos != -1: insert_pos = dest_pos + len(dest_pattern) current_html = current_html[:insert_pos] + widget + "\n" + current_html[insert_pos:] return current_html html = move_card('contacts', 'inner-left-col', html) html = move_card('customers', 'inner-left-col', html) html = move_card('locations', 'inner-left-col', html) with open('app/modules/sag/templates/detail.html', 'w', encoding='utf-8') as f: f.write(html) print("Drejede kolonnerne på plads!") if __name__ == '__main__': fix_columns()