From 668d063f05e5e55013a9f5f5bbed9599f936679d Mon Sep 17 00:00:00 2001 From: Holger Trampe Date: Wed, 13 May 2020 13:03:52 +0200 Subject: [PATCH] Orga Fix und bugfix by Moduleeinstellung --- areas/__pycache__/__init__.cpython-38.pyc | Bin 154 -> 154 bytes .../__pycache__/__init__.cpython-38.pyc | Bin 165 -> 165 bytes .../__pycache__/__init__.cpython-38.pyc | Bin 157 -> 159 bytes .../__pycache__/__init__.cpython-38.pyc | Bin 168 -> 170 bytes .../modulesettings_organigramm.html | 4 ++- dasettings/views.py | 14 ++++---- .../__pycache__/__init__.cpython-38.pyc | Bin 164 -> 164 bytes .../__pycache__/settings.cpython-38.pyc | Bin 4069 -> 4040 bytes .../__pycache__/urls.cpython-38.pyc | Bin 2287 -> 2287 bytes .../__pycache__/views.cpython-38.pyc | Bin 356 -> 356 bytes .../__pycache__/wsgi.cpython-38.pyc | Bin 583 -> 583 bytes digitaleagentur/settings.py | 33 ++++++++++-------- message/__pycache__/__init__.cpython-38.pyc | Bin 156 -> 156 bytes .../__pycache__/__init__.cpython-38.pyc | Bin 167 -> 167 bytes news/__pycache__/__init__.cpython-38.pyc | Bin 153 -> 153 bytes .../__pycache__/__init__.cpython-38.pyc | Bin 170 -> 170 bytes orga/__pycache__/__init__.cpython-38.pyc | Bin 153 -> 153 bytes orga/__pycache__/admin.cpython-38.pyc | Bin 194 -> 194 bytes orga/__pycache__/apps.cpython-38.pyc | Bin 369 -> 369 bytes orga/__pycache__/models.cpython-38.pyc | Bin 191 -> 191 bytes orga/__pycache__/urls.cpython-38.pyc | Bin 405 -> 405 bytes orga/__pycache__/views.cpython-38.pyc | Bin 3512 -> 3512 bytes orga/templates/orga/orga_main.html | 2 +- orga/templates/orga/orga_single.html | 8 ++--- orga/templates/orga/orga_single_aut.html | 3 +- orga/templates/orga/orga_single_ex.html | 2 +- orga/templates/orga/orga_single_rep.html | 2 +- organizer/__pycache__/__init__.cpython-38.pyc | Bin 159 -> 158 bytes .../__pycache__/__init__.cpython-38.pyc | Bin 170 -> 169 bytes standards/__pycache__/__init__.cpython-38.pyc | Bin 158 -> 158 bytes .../__pycache__/__init__.cpython-38.pyc | Bin 171 -> 171 bytes .../__pycache__/counter_tag.cpython-38.pyc | Bin 11379 -> 11379 bytes tasks/__pycache__/__init__.cpython-38.pyc | Bin 154 -> 154 bytes .../__pycache__/__init__.cpython-38.pyc | Bin 163 -> 163 bytes .../__pycache__/__init__.cpython-38.pyc | Bin 174 -> 174 bytes timemanagement/views.py | 2 +- users/__pycache__/__init__.cpython-38.pyc | Bin 154 -> 154 bytes users/static/users/css/tree.css | 1 + 38 files changed, 38 insertions(+), 33 deletions(-) create mode 100644 users/static/users/css/tree.css diff --git a/areas/__pycache__/__init__.cpython-38.pyc b/areas/__pycache__/__init__.cpython-38.pyc index 3ff9165446ebb00592cac02f68b94e6289c870f1..d64b760a4764463097c04a58ad7173303a6a1259 100644 GIT binary patch delta 30 kcmbQmIE#@dl$V!_0SF8Z?2enr*LS delta 29 jcmZ3=xRjAQl$V!_0SF$(YE0yIWAn(*Nlz`B814rEV=)J| diff --git a/dasettings/__pycache__/__init__.cpython-38.pyc b/dasettings/__pycache__/__init__.cpython-38.pyc index 5b34a815a05caf112d85beb9de9f5bea26c77257..c707045ebf9408173654bc6274176fcffefc7ebe 100644 GIT binary patch delta 45 zcmbQsIG>R_l$V!_0SF8Z?4HPNBjDm}6%$&VT2vepnpc#Xm@_e4o+%}9VwpMs3&ssZ delta 42 wcmbQwIG2$-l$V!_0SG<{m`~)k5pZ(0iU}=FEh>)j$j?bnEt(iEKe0j`0NP><1ONa4 diff --git a/dasettings/migrations/__pycache__/__init__.cpython-38.pyc b/dasettings/migrations/__pycache__/__init__.cpython-38.pyc index 06057d37dc96bc9c117645cbd78e8f09cb7e4438..2bdc2eca1d2c28902ec23f71cd6d17c88054d8b7 100644 GIT binary patch delta 45 zcmZ3%xQdZGl$V!_0SF8Z?4HPNBjE3B6%$&VT2vepnpc#Xm@_e4o+%}9Vwn*D5UdSw delta 42 wcmZ3*xPp;8l$V!_0SG<{m`~)k5%6`kiU}=FEh>)j$j?bnEt(iEKe56H0N&*cFaQ7m diff --git a/dasettings/templates/dasettings/modulesettings_organigramm.html b/dasettings/templates/dasettings/modulesettings_organigramm.html index f8c83dc..089f0f8 100644 --- a/dasettings/templates/dasettings/modulesettings_organigramm.html +++ b/dasettings/templates/dasettings/modulesettings_organigramm.html @@ -13,7 +13,9 @@ dynorga: $("#id_dynamicprofile").prop('checked') }, success: function( data ) - {} + { + console.log(data) + } }); } \ No newline at end of file diff --git a/dasettings/views.py b/dasettings/views.py index 349d6f6..6b07b8f 100644 --- a/dasettings/views.py +++ b/dasettings/views.py @@ -397,7 +397,7 @@ def SettingsAjaxRouter(request): todelarea = Areas.objects.get(pk=request.GET['id'], agency=request.user.profile.agency) # REMOVE STANDARDS AREA tempstandards = Standards.objects.filter(agency=request.user.profile.agency, area=todelarea) - if(request.user.has_perm('standardmanager')): + if(request.user.has_perm('users.standardmanager')): for s in tempstandards: s.area = None s.task = None @@ -445,7 +445,7 @@ def SettingsAjaxRouter(request): todeltask = Tasks.objects.get(pk=request.GET['id'], agency=request.user.profile.agency) # REMOVE STANDARDS AREA tempstandards = Standards.objects.filter(agency=request.user.profile.agency, task=todeltask) - if(request.user.has_perm('standardmanager')): + if(request.user.has_perm('users.standardmanager')): for s in tempstandards: s.task = None s.public = False @@ -485,7 +485,7 @@ def SettingsAjaxRouter(request): # UPDATE USER MAIL elif request.method == 'GET' and request.GET['action'] == "update_usermail" : tempuser = User.objects.get(pk=request.GET['userid']) - if(request.user.profile.agency == tempuser.profile.agency and request.user.has_perm('usermanager')): + if(request.user.profile.agency == tempuser.profile.agency and request.user.has_perm('users.usermanager')): tempmail = tempuser.email regex = '^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$' if(re.search(regex,request.GET['newmail'])): @@ -506,7 +506,7 @@ def SettingsAjaxRouter(request): # UPDATE USERNAME elif request.method == 'GET' and request.GET['action'] == "update_usernames" : tempuser = User.objects.get(pk=request.GET['userid']) - if(request.user.profile.agency == tempuser.profile.agency and request.user.has_perm('usermanager')): + if(request.user.profile.agency == tempuser.profile.agency and request.user.has_perm('users.usermanager')): regex = '^[a-zA-Z0-9_.-üöäÜÖÄ ]+$' if(re.search(regex,request.GET['new_first_name']) and re.search(regex,request.GET['new_last_name'])): tempuser.first_name = request.GET['new_first_name'] @@ -906,8 +906,8 @@ def AgencyNetworkAjaxSettings(request): return JsonResponse(data) @login_required -def ModSettingsOrga(request): - if request.method == 'GET' and request.user.has_perm("modulesconfig"): +def ModSettingsOrga(request): + if request.method == 'GET' and request.user.has_perm("users.modulesconfig"): if(request.GET['dynorga'] == "true"): ag = request.user.profile.agency ag.dynamicprofile = True @@ -922,7 +922,7 @@ def ModSettingsOrga(request): @login_required def ModSettingsTm(request): - if request.method == 'GET' and request.user.has_perm("modulesconfig"): + if request.method == 'GET' and request.user.has_perm("users.modulesconfig"): if(request.GET['aze'] == "true"): ag = request.user.profile.agency ag.module_timemanagement_ze = True diff --git a/digitaleagentur/__pycache__/__init__.cpython-38.pyc b/digitaleagentur/__pycache__/__init__.cpython-38.pyc index f932871733a77d6ad81880de62bc990e9c8b7a3e..180498d4cc46f69706bf0f9c088dfbb7855dffea 100644 GIT binary patch delta 30 kcmZ3&xP*}>l$V!_0SF8Z?2enrt<8 delta 30 kcmZ3&xP*}>l$V!_0SNxzeil2C$Cb?^KPNr4Xkxf80DxWzYXATM diff --git a/digitaleagentur/__pycache__/settings.cpython-38.pyc b/digitaleagentur/__pycache__/settings.cpython-38.pyc index 4f165cf9b73dac579d18c4e96bf9f65233c07d15..f37e42ad87d5ff857bfd292afaaa3b86dbda6259 100644 GIT binary patch delta 549 zcmY*WO-~bH5Z-sYEN!>j^4U@pYZXC6+Z7P7sI-Nmi1^hOb!arJ&t|)(b;));*oznc z0NE=CdoeNbwu$lU;L+cJXMccKJ?NXpG;t>L%;cHOlgZ4F)VGvcRn@S-?fciy4?pg! zyF~;MLKq4nP!IYnMhc=7L5x($6vY6=Fh~O!qCpJP5JqSiqcnmz5*S0$lxTGS-P}ve zo8uJ60xnM(0$2O&LlTP3koy2XLgnoxk8SJU}I?%-_qp!m{40jU( zO?R2o#x%+uk!Db#GyfPFRnE*}ht6`rbGSzt+=t9hki`QKb}hzh4PsfCsrg@6p2g#J z*WJryvkm)+-l*FxH@B>5nwJdhu!{F7un;_y9NTse1urPgmf9inMYI0AnSo(#iGt8p z>vqF5oQ&(}%{`;7Y}>AD%xUKrAEn!g|9bh}q(3k9%S`rH!c&ZG__{L5!lCs-rBE!C zOJ(m>MhYSotEv})C7j-fZa4^f(sMb`7*(jQ5YSkL>t HZ0!ACP*j&M delta 592 zcmZuuOHWf_5WQdfQRy2>OG~8|l!u6IRSH6V^#!&R1Z;~k5>4gY++I`qxV^-*F8mGT zE@fdC#^|;i7XASD{s#YqF7!)dSUD$iW^$4_naO+){|r0JPNz*0u~|5Od4B4AktI8Z z$pI@lVIvppqDiiLP zk*7&)QV0dQBDM^RoPvd>u|-$0P1o>*X0SuAW@Yxq^wB)vIeDnZdJMaMiRK5&b$K3p zJrgb9Dc$&|SWpzoB1&{q7)DU0DE46$r^fIM&vBqK(cglpC@oO`8%wfKsH*GDb|Myo zs;GLUCPylYT-Q&u=uzX?@R;`t8(mlXSZ_w#x>nH}QOIh+BuS<2WWAxu%~~h66_~v8uOr_6*e=4^kkvR_(s-cG4}qoT*bS|90zktEhFW#wYV)-^VXm z81IK{bF81W&oHCysMxI8R4J8C71xXXACAv#+AjY6Mbef<8PKnMCUID9%Ub&|*QhD7 lW_)nbteLY5a1*=0Z~lk7xS3nH$-#{&cf^RfEylL{-CsBvq8I=G diff --git a/digitaleagentur/__pycache__/urls.cpython-38.pyc b/digitaleagentur/__pycache__/urls.cpython-38.pyc index 1e90a1e773582895f56cdceebf956fff73848e28..2a17a2e3e5efaaf7061c29d449617b6057e7b067 100644 GIT binary patch delta 58 zcmaDa_+F4Zl$V!_0SF8Z?B2*dg^e+4^8&UNj8ZB;_0B`aLaR2}S diff --git a/notificsys/migrations/__pycache__/__init__.cpython-38.pyc b/notificsys/migrations/__pycache__/__init__.cpython-38.pyc index 5006479422d0134fe0b67b9a2ec5eb03c2312021..1636376dcc1d18936b82ea7c785fab5dafa803a8 100644 GIT binary patch delta 29 jcmZ3*xQdZGl$V!_0SF8Z?4HQ&#ul1al$w|`F+3OmXLJY< delta 29 jcmZ3*xQdZGl$V!_0SFd~I!xqtWAn(*Nlz`B7#<7&U1kSW diff --git a/orga/__pycache__/__init__.cpython-38.pyc b/orga/__pycache__/__init__.cpython-38.pyc index 496d8077edeec95f12cf176f01af0371392d7a99..906abc928fd836b1fb1bb5fd805113aacdb8cb94 100644 GIT binary patch delta 30 kcmbQqIFpell$V!_0SF8Z?2enr0Cc7Z!2kdN diff --git a/orga/__pycache__/admin.cpython-38.pyc b/orga/__pycache__/admin.cpython-38.pyc index 651384684116cf6391eeaeec37f3b8e2222d989e..e087457441bef06081a18b409fc14f97c564f604 100644 GIT binary patch delta 30 kcmX@ac!-fFl$V!_0SF8Z?2enrQ^*#YSCpEVGqKqo0C&*{;{X5v delta 30 kcmX@ac!-fFl$V!_0SJ;`zl@#8Q^@9#pOct<8 delta 30 kcmey!^pS}tl$V!_0SJ;`zl@#8bBE0%KPNr4XyUtO0Fb&0;s5{u diff --git a/orga/__pycache__/models.cpython-38.pyc b/orga/__pycache__/models.cpython-38.pyc index 96f69e5121134d8d361df12e58ad35dbf0925820..8898bd65aacbd6221011690fd3552dd875807209 100644 GIT binary patch delta 30 kcmdnbxSx?Hl$V!_0SF8Z?2enrlgk#GSCpEVGqK(Q0Cw;Q)&Kwi delta 30 kcmdnbxSx?Hl$V!_0SJ;`zl@#8lgs9jpOc_d&dlbKpOc - + - + +

Bereiche und Tätigkeiten von {{user_first_name}} {{user_last_name}} @@ -196,7 +196,7 @@ 2 - rep */ -function initialLoad(viewmode=0){ +function initialLoad(viewmode){ $.ajax({ type: "GET", @@ -231,7 +231,7 @@ function changeView(newmode){ $( document ).ready(function() { {% if request.user.profile.agency.dynamicprofile %} - initialLoad() + initialLoad(0) {% endif %} }); diff --git a/orga/templates/orga/orga_single_aut.html b/orga/templates/orga/orga_single_aut.html index 554d2cc..c820b1b 100644 --- a/orga/templates/orga/orga_single_aut.html +++ b/orga/templates/orga/orga_single_aut.html @@ -62,7 +62,6 @@ var sortablearea_ids = [{% for area in areas %} {{area.pk}},{% endfor %}]; tempid = rows[i]['id'].split("_")[1]; datatoserver.push({"id" : tempid, "neworder" : i}); } - console.log(datatoserver) $.ajax( { type: "GET", @@ -113,7 +112,7 @@ var sortablearea_ids = [{% for area in areas %} {{area.pk}},{% endfor %}]; */ -function initialLoad(viewmode=0){ +function initialLoad(viewmode){ $.ajax({ type: "GET", url: "{% url 'orga-ajax' %}", diff --git a/orga/templates/orga/orga_single_ex.html b/orga/templates/orga/orga_single_ex.html index 078a190..c0ce83b 100644 --- a/orga/templates/orga/orga_single_ex.html +++ b/orga/templates/orga/orga_single_ex.html @@ -112,7 +112,7 @@ var sortablearea_ids = [{% for area in areas %} {{area.pk}},{% endfor %}]; */ -function initialLoad(viewmode=0){ +function initialLoad(viewmode){ $.ajax({ type: "GET", url: "{% url 'orga-ajax' %}", diff --git a/orga/templates/orga/orga_single_rep.html b/orga/templates/orga/orga_single_rep.html index 449579a..9dc41d2 100644 --- a/orga/templates/orga/orga_single_rep.html +++ b/orga/templates/orga/orga_single_rep.html @@ -112,7 +112,7 @@ var sortablearea_ids = [{% for area in areas %} {{area.pk}},{% endfor %}]; */ -function initialLoad(viewmode=0){ +function initialLoad(viewmode){ $.ajax({ type: "GET", url: "{% url 'orga-ajax' %}", diff --git a/organizer/__pycache__/__init__.cpython-38.pyc b/organizer/__pycache__/__init__.cpython-38.pyc index b8201af47b7f43ff30bfebb81bdba1f50970ed0c..7cd8ba79b0fd17faad11191c9b0a1f01769dad49 100644 GIT binary patch delta 53 zcmbQwIFFGhl$V!_0SF8Z?2enrV=dt9Y!wq)oLW>I6Pj0)nwT>&T%I$(C_OPRvnsV{ HVuL&YhprH~ delta 54 zcmbQoIG>Rxl$V!_0SIE)e#B1Xu@-P~wu%WYPAw{q@yO3fPc51lF3(k1nwgxPlbM%Y IJh5IL0E?Uu&Hw-a diff --git a/organizer/migrations/__pycache__/__init__.cpython-38.pyc b/organizer/migrations/__pycache__/__init__.cpython-38.pyc index c97986fda6c91767373764ec5a9ce1aee5e5ca4b..e687b78204a13c91e801d193ad4f7aca33a3bd45 100644 GIT binary patch delta 53 zcmZ3*xRQ}4l$V!_0SF8Z?2enrV=dt4Y!wq)oLW>I6Pj0)nwT>&T%I$(C_OPRvnsV{ HVuKa{jgb)K delta 54 zcmZ3-mwu%WYPAw{q@yO3fPc51lF3(k1nwgxPlbM%Y IJh5I20Fj^&`Tzg` diff --git a/standards/__pycache__/__init__.cpython-38.pyc b/standards/__pycache__/__init__.cpython-38.pyc index 3efa48cc7ebec35b7d017b8628f2e4656c013f83..0c77154895e62fdf6813f3b864fc1296a34e5fed 100644 GIT binary patch delta 30 kcmbQoIFFGhl$V!_0SF8Z?2enr delta 30 kcmbQoIFFGhl$V!_0SNxzeil2C$Cb?^KPNr4XkxfK0Dk-lSpWb4 diff --git a/standards/templatetags/__pycache__/__init__.cpython-38.pyc b/standards/templatetags/__pycache__/__init__.cpython-38.pyc index 9c0b9989039ab8d57a0124e97e8f9e067906badf..9b279e296d381689eca327b1e4c5453e1229f515 100644 GIT binary patch delta 30 kcmZ3@xSEkCl$V!_0SF8Z?2enrro{FJfqL=7V3M#1fe@=NMl!oDBv-ZFKz1Q0N?BT$0!0t~; zNtz&kWzQbpw@0lue^_Y2(9k~XbUVfQZfXq$_*d!+TFah7AAd}HP3!r!*T+vBrG1VK zQWA75q%D6!Gji*smB6mxzjH3FeTk`e2(4LYQ7s$`#u~S4 zV`QD3T24FkUVNU~kQRm2G61_2A>Qa-P2K#&T~odj0WA1EQCU)jsfj`_Fd0*3 zfu>0ZS9x64PC3oNWG6Rya%hiSOYkp`$JJpPmX%fLf3b^8y?GSn8m}))x7J0wrEY+E^8?r=OW+jWH=eeCXVoXpI0?|Wp3gqvWkEy z5^+m7(kePQH`|$J_+jQ4aFQ2g`>Bu5XSc5y*`qiir&RlYPR3kAFIjJMFA}Xrn>$&{ zSw^S$Ue1y3y;y7Hv<&~$Q5_Cpe%yALZ60^cgwaO}GX^pMkGwjMau?8P{+j#THKqf< z%G*x;@-8?zkiTZ$8JVU|GR|~Ny_}C*8pAR9k)Op9=YaG4DStLyVqZZoUFEw4C3Klv z65KpopwKn>j;!|Sb?6_QY7;5Q8Fl0NL}4Cv@%_Sb8qi-ItFnNubCu$9{d2iD4Iu%t$EAf-p+ShRRG&!-UR^+tIvKcE4Gf zF1nE2i$a2|hF&6i=%t6~p{FA1C3=Y-rJ#ap|L2q=p*0L2i?#o?)?RDxvq$Sj>#VgY zDM?f0Z<%-GzO~J4sR}m-G!Z*!o^2&RkEB-92L74)Oxo^zFMmjTNt^kl$IFjx#e=r3 z(%oQNO51!tFG7%Vlmzc5sV3i+W`(!9U$@XIDI7NlBUh7rVLGlS2`%_INY()VgSoR1TYr zVeLm$Hy`y>(P5eDSY79zG-4mD-4bewu))@~lWy(+BnJVbS6F&7loN;eK}IDV;jbA3 z3&vU>CS6fesZJM@=KVdnCz&n_Iu||sHggsAae?j+^km??8Oalh#Zaf3zre8b}A+^6EUwUP6QXCHtv!!VLT( zr-O#%U2t$+u745BFm;-7rW5Mr`WsU)6qR518I(8+oa2wV^XU?M^9JZDkK`56Wo}Jy z@o1hx*W?4T(X02Ne{iZrq#$P8jpzRS9O~iw`K5GAe{Rgm61vV6iqrYm3Fjj62JcW7 z(e2oEWgSr$e=aDePM%j-QT&$}lT{P^NzLIvKx=Am(}Xdpn@G~bR|;3su-^Fh!j{B~ z5S!#piOgC-clqJ0R}_n#R72Fe0dhaE8Q2csB@;VxKl$V!_0SF8Z?4HQ&#ul1al$w|`F+3aqXjljw delta 29 jcmZ3-xQ>xKl$V!_0SLaeFP+Hk#^#Zqlb%{MF+3aqZ_Wsf diff --git a/timemanagement/views.py b/timemanagement/views.py index c087475..d80a36f 100644 --- a/timemanagement/views.py +++ b/timemanagement/views.py @@ -73,7 +73,7 @@ def AbsenceManagmenet(request, activemonth=False, activeyear=False): # ALL OK - START SAVING ABSENCE else: confirmstat = 0 - if(request.user.has_perm("absencemanager") == False): + if(request.user.has_perm("users.absencemanager") == False): confirmstat = 1 messages.success(request, f'Abwesenheit beantragt') # SEND NOTIFICATION diff --git a/users/__pycache__/__init__.cpython-38.pyc b/users/__pycache__/__init__.cpython-38.pyc index 1988400f604d060f1d1b78fe675e7ff1ed970e9e..9325e9699f9a677a6297ac5cb8c4c1d1a1d35851 100644 GIT binary patch delta 30 kcmbQmIE#@dl$V!_0SF8Z?2enr.tf-nc:before,.tf-tree li li:only-child>.tf-node-content:before{height:1.0625em;top:-1.0625em}.tf-tree .tf-nc,.tf-tree .tf-node-content{border:.0625em solid #000;display:inline-block;padding:.5em 1em;position:relative}.tf-tree .tf-nc:before,.tf-tree .tf-node-content:before{top:-1.03125em}.tf-tree .tf-nc:after,.tf-tree .tf-nc:before,.tf-tree .tf-node-content:after,.tf-tree .tf-node-content:before{border-left:.0625em solid #000;content:"";display:block;height:1em;left:calc(50% - .03125em);position:absolute;width:.0625em}.tf-tree .tf-nc:after,.tf-tree .tf-node-content:after{top:calc(100% + .03125em)}.tf-tree .tf-nc:only-child:after,.tf-tree .tf-node-content:only-child:after,.tf-tree>ul>li>.tf-nc:before,.tf-tree>ul>li>.tf-node-content:before{display:none}.tf-tree.tf-gap-sm li{padding:0 .6em}.tf-tree.tf-gap-sm li>.tf-nc:before,.tf-tree.tf-gap-sm li>.tf-node-content:before{height:.6em;top:-.6em}.tf-tree.tf-gap-sm li>.tf-nc:after,.tf-tree.tf-gap-sm li>.tf-node-content:after{height:.6em}.tf-tree.tf-gap-sm li ul{margin:1.2em 0}.tf-tree.tf-gap-sm li li:before{top:-.63125em}.tf-tree.tf-gap-sm li li:only-child>.tf-nc:before,.tf-tree.tf-gap-sm li li:only-child>.tf-node-content:before{height:.6625em;top:-.6625em}.tf-tree.tf-gap-lg li{padding:0 1.5em}.tf-tree.tf-gap-lg li>.tf-nc:before,.tf-tree.tf-gap-lg li>.tf-node-content:before{height:1.5em;top:-1.5em}.tf-tree.tf-gap-lg li>.tf-nc:after,.tf-tree.tf-gap-lg li>.tf-node-content:after{height:1.5em}.tf-tree.tf-gap-lg li ul{margin:3em 0}.tf-tree.tf-gap-lg li li:before{top:-1.53125em}.tf-tree.tf-gap-lg li li:only-child>.tf-nc:before,.tf-tree.tf-gap-lg li li:only-child>.tf-node-content:before{height:1.5625em;top:-1.5625em}.tf-tree li.tf-dotted-children .tf-nc:after,.tf-tree li.tf-dotted-children .tf-nc:before,.tf-tree li.tf-dotted-children .tf-node-content:after,.tf-tree li.tf-dotted-children .tf-node-content:before{border-left-style:dotted}.tf-tree li.tf-dotted-children li:before{border-top-style:dotted}.tf-tree li.tf-dotted-children>.tf-nc:before,.tf-tree li.tf-dotted-children>.tf-node-content:before{border-left-style:solid}.tf-tree li.tf-dashed-children .tf-nc:after,.tf-tree li.tf-dashed-children .tf-nc:before,.tf-tree li.tf-dashed-children .tf-node-content:after,.tf-tree li.tf-dashed-children .tf-node-content:before{border-left-style:dashed}.tf-tree li.tf-dashed-children li:before{border-top-style:dashed}.tf-tree li.tf-dashed-children>.tf-nc:before,.tf-tree li.tf-dashed-children>.tf-node-content:before{border-left-style:solid} \ No newline at end of file