Add RRO, portal section perms, dislocation presets, and hiring intern flow.
Ship cash-register registry, section-based portal access, configurable dislocation columns, and trial-hire intern accounts with credentials PDF.
This commit is contained in:
+27
-2
@@ -278,6 +278,7 @@
|
||||
<span class="nav-label-text">{% trans "Документы" %}</span>
|
||||
</a>
|
||||
|
||||
{% if request.user|can_section:'email' %}
|
||||
<a href="/email/" class="nav-item"
|
||||
hx-get="/email/" hx-target="#main-content" hx-push-url="/email/"
|
||||
hx-indicator="#loader" onclick="setActive(this)">
|
||||
@@ -287,6 +288,7 @@
|
||||
</svg>
|
||||
<span class="nav-label-text">{% trans "Электронная почта" %}</span>
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
<a href="/chat/" class="nav-item"
|
||||
hx-get="/chat/" hx-target="#main-content" hx-push-url="/chat/"
|
||||
@@ -306,6 +308,7 @@
|
||||
<span class="nav-label-text">{% trans "Календарь" %}</span>
|
||||
</a>
|
||||
|
||||
{% if request.user|can_section:'databases' %}
|
||||
<a href="/databases/" class="nav-item"
|
||||
hx-get="/databases/" hx-target="#main-content" hx-push-url="/databases/"
|
||||
hx-indicator="#loader" onclick="setActive(this)">
|
||||
@@ -314,7 +317,9 @@
|
||||
</svg>
|
||||
<span class="nav-label-text">{% trans "Базы данных" %}</span>
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
{% if request.user|can_section:'reports' %}
|
||||
<a href="/reports/" class="nav-item"
|
||||
hx-get="/reports/" hx-target="#main-content" hx-push-url="/reports/"
|
||||
hx-indicator="#loader" onclick="setActive(this)">
|
||||
@@ -323,7 +328,9 @@
|
||||
</svg>
|
||||
<span class="nav-label-text">{% trans "Отчёты" %}</span>
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
{% if request.user|can_section:'purchases' %}
|
||||
<a href="/purchases/" class="nav-item"
|
||||
hx-get="/purchases/" hx-target="#main-content" hx-push-url="/purchases/"
|
||||
hx-indicator="#loader" onclick="setActive(this)">
|
||||
@@ -333,7 +340,9 @@
|
||||
</svg>
|
||||
<span class="nav-label-text">{% trans "Закупки" %}</span>
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
{% if request.user|can_section:'hr_portal' %}
|
||||
<a href="/hr-portal/" class="nav-item"
|
||||
hx-get="/hr-portal/" hx-target="#main-content" hx-push-url="/hr-portal/"
|
||||
hx-indicator="#loader" onclick="setActive(this)">
|
||||
@@ -342,6 +351,7 @@
|
||||
</svg>
|
||||
<span class="nav-label-text">{% trans "HR портал" %}</span>
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
<a href="/settings/" class="nav-item"
|
||||
hx-get="/settings/" hx-target="#main-content" hx-push-url="/settings/"
|
||||
@@ -363,6 +373,7 @@
|
||||
|
||||
|
||||
|
||||
{% if request.user|can_section:'structure' %}
|
||||
<a href="/structure/" class="nav-item"
|
||||
hx-get="/structure/" hx-target="#main-content" hx-push-url="/structure/"
|
||||
hx-indicator="#loader" onclick="setActive(this)">
|
||||
@@ -371,6 +382,7 @@
|
||||
</svg>
|
||||
<span class="nav-label-text">{% trans "Структура" %}</span>
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
<a href="/pharmacies/" class="nav-item"
|
||||
hx-get="/pharmacies/" hx-target="#main-content" hx-push-url="/pharmacies/"
|
||||
@@ -382,6 +394,15 @@
|
||||
<span class="nav-label-text">{% trans "Аптеки" %}</span>
|
||||
</a>
|
||||
|
||||
<a href="/rro/" class="nav-item"
|
||||
hx-get="/rro/" hx-target="#main-content" hx-push-url="/rro/"
|
||||
hx-indicator="#loader" onclick="setActive(this)">
|
||||
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||
<rect x="2" y="4" width="20" height="16" rx="2"/><path d="M6 8h.01M10 8h8M6 12h.01M10 12h8M6 16h.01M10 16h4"/>
|
||||
</svg>
|
||||
<span class="nav-label-text">{% trans "РРО / ПРРО" %}</span>
|
||||
</a>
|
||||
|
||||
<a href="/utilities/" class="nav-item"
|
||||
hx-get="/utilities/" hx-target="#main-content" hx-push-url="/utilities/"
|
||||
hx-indicator="#loader" onclick="setActive(this)">
|
||||
@@ -391,6 +412,7 @@
|
||||
<span class="nav-label-text">{% trans "Коммунальные услуги" %}</span>
|
||||
</a>
|
||||
|
||||
{% if request.user|can_section:'recruiting' %}
|
||||
<a href="/recruiting/" class="nav-item"
|
||||
hx-get="/recruiting/" hx-target="#main-content" hx-push-url="/recruiting/"
|
||||
hx-indicator="#loader" onclick="setActive(this)">
|
||||
@@ -401,7 +423,9 @@
|
||||
</svg>
|
||||
<span class="nav-label-text">{% trans "Рекрутинг" %}</span>
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
{% if request.user|can_section:'timetrack' %}
|
||||
<a href="/timetrack/" class="nav-item"
|
||||
hx-get="/timetrack/" hx-target="#main-content" hx-push-url="/timetrack/"
|
||||
hx-indicator="#loader" onclick="setActive(this)">
|
||||
@@ -410,6 +434,7 @@
|
||||
</svg>
|
||||
<span class="nav-label-text">{% trans "Учёт рабочего времени" %}</span>
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -439,7 +464,7 @@
|
||||
<span class="nav-label-text">{% trans "Поддержка IT" %}</span>
|
||||
</a>
|
||||
|
||||
{% if request.user|is_it_staff %}
|
||||
{% if request.user|can_section:'it_manager' %}
|
||||
<a href="/it-manager/" class="nav-item"
|
||||
hx-get="/it-manager/" hx-target="#main-content" hx-push-url="/it-manager/"
|
||||
hx-indicator="#loader" onclick="setActive(this)">
|
||||
@@ -450,7 +475,7 @@
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
{% if request.user.is_staff %}
|
||||
{% if request.user|can_section:'ad_mapping' %}
|
||||
<a href="/ad-mapping/" class="nav-item"
|
||||
hx-get="/ad-mapping/" hx-target="#main-content" hx-push-url="/ad-mapping/"
|
||||
hx-indicator="#loader" onclick="setActive(this)">
|
||||
|
||||
Reference in New Issue
Block a user