Compare commits
4 Commits
v0.1
...
a61231e977
| Author | SHA1 | Date | |
|---|---|---|---|
| a61231e977 | |||
| 417955d07e | |||
| cf5247aa66 | |||
| 1fe9cba239 |
@@ -54,7 +54,10 @@ return [
|
|||||||
'MEMBER_COUNT' => '# Members <sub>(excl admins)</sub>',
|
'MEMBER_COUNT' => '# Members <sub>(excl admins)</sub>',
|
||||||
'ADMIN_COUNT' => '# Admins',
|
'ADMIN_COUNT' => '# Admins',
|
||||||
|
|
||||||
'SELF' => 'My Organisations',
|
'SELF' => [
|
||||||
|
1 => 'My Organisation',
|
||||||
|
2 => 'My Organisations',
|
||||||
|
],
|
||||||
'MANAGE' => 'Manage Organisations',
|
'MANAGE' => 'Manage Organisations',
|
||||||
'ASSIGN_NEW' => 'Assign to organisation',
|
'ASSIGN_NEW' => 'Assign to organisation',
|
||||||
|
|
||||||
|
|||||||
@@ -645,8 +645,9 @@ class OrganisationController extends SimpleController
|
|||||||
});
|
});
|
||||||
if (!$currentUser->isMaster() && $currentUser->roles()->where('slug', 'organisations-admin')->count() == 0) {
|
if (!$currentUser->isMaster() && $currentUser->roles()->where('slug', 'organisations-admin')->count() == 0) {
|
||||||
$sprunje->extendQuery(function ($query) {
|
$sprunje->extendQuery(function ($query) {
|
||||||
return $query->where('flag_approved', true)
|
return $query->where(function($query) {
|
||||||
->orWhereNotNull('is_member');
|
$query->where('flag_approved', true)->orWhereNotNull('is_member');
|
||||||
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -83,6 +83,48 @@ class OrganisationSprunje extends Sprunje
|
|||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Filter by name (case insensitive).
|
||||||
|
*
|
||||||
|
* @param Builder $query
|
||||||
|
* @param mixed $value
|
||||||
|
*
|
||||||
|
* @return self
|
||||||
|
*/
|
||||||
|
protected function filterName($query, $value)
|
||||||
|
{
|
||||||
|
// Split value on separator for OR queries
|
||||||
|
$values = explode($this->orSeparator, $value);
|
||||||
|
$query->where(function ($query) use ($values) {
|
||||||
|
foreach ($values as $value) {
|
||||||
|
$query->orWhereRaw('LOWER(name) LIKE ?', [ '%' . strtolower($value) . '%' ]);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Filter by description (case insensitive).
|
||||||
|
*
|
||||||
|
* @param Builder $query
|
||||||
|
* @param mixed $value
|
||||||
|
*
|
||||||
|
* @return self
|
||||||
|
*/
|
||||||
|
protected function filterDescription($query, $value)
|
||||||
|
{
|
||||||
|
// Split value on separator for OR queries
|
||||||
|
$values = explode($this->orSeparator, $value);
|
||||||
|
$query->where(function ($query) use ($values) {
|
||||||
|
foreach ($values as $value) {
|
||||||
|
$query->orWhereRaw('LOWER(description) LIKE ?', [ '%' . strtolower($value) . '%' ]);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return a list of possible user statuses.
|
* Return a list of possible user statuses.
|
||||||
*
|
*
|
||||||
@@ -117,28 +159,6 @@ class OrganisationSprunje extends Sprunje
|
|||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Filter LIKE name OR description. (for user organisations modal)
|
|
||||||
*
|
|
||||||
* @param Builder $query
|
|
||||||
* @param mixed $value
|
|
||||||
*
|
|
||||||
* @return self
|
|
||||||
*/
|
|
||||||
protected function filterInfo($query, $value)
|
|
||||||
{
|
|
||||||
// Split value on separator for OR queries
|
|
||||||
$values = explode($this->orSeparator, $value);
|
|
||||||
$query->where(function ($query) use ($values) {
|
|
||||||
foreach ($values as $value) {
|
|
||||||
$query->orLike('name', $value)
|
|
||||||
->orLike('description', $value);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sort based on created date.
|
* Sort based on created date.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,14 +1,13 @@
|
|||||||
{% extends "@admin/navigation/sidebar-menu.html.twig" %}
|
{% extends "@admin/navigation/sidebar-menu.html.twig" %}
|
||||||
|
|
||||||
{% block navigation %}
|
{% block organisations_nav %}
|
||||||
{{ parent() }}
|
|
||||||
|
|
||||||
{% if checkAccess('uri_organisations') %}
|
{% if checkAccess('uri_organisations') %}
|
||||||
<li>
|
<li>
|
||||||
<a href="{{site.uri.public}}/organisations"><i class="fas fa-sitemap fa-fw"></i> <span>{{ translate("ORGANISATION", 2) }}</span></a>
|
<a href="{{site.uri.public}}/organisations"><i class="fas fa-sitemap fa-fw"></i> <span>{{ translate("ORGANISATION", 2) }}</span></a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if current_user.organisations.count() > 0 %}
|
{% if current_user.organisations.count() > 0 %}
|
||||||
|
{% if organisationConfig.membership.single_membership == false %}
|
||||||
<li>
|
<li>
|
||||||
<a href="#" data-toggle="collapse" data-target="#submenu-organisations" aria-expanded="false"><i class="fa fa-fw fa-sitemap"></i> <span>{{ translate("ORGANISATION.SELF") }}</span> <i class="fa fa-fw pull-right fa-angle-down"></i></a>
|
<a href="#" data-toggle="collapse" data-target="#submenu-organisations" aria-expanded="false"><i class="fa fa-fw fa-sitemap"></i> <span>{{ translate("ORGANISATION.SELF") }}</span> <i class="fa fa-fw pull-right fa-angle-down"></i></a>
|
||||||
<ul id="submenu-organisations" class="collapsable collapse" aria-expanded="false" style="height: 1px;">
|
<ul id="submenu-organisations" class="collapsable collapse" aria-expanded="false" style="height: 1px;">
|
||||||
@@ -21,5 +20,18 @@
|
|||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
{% else %}
|
||||||
|
{% set organisation = current_user.organisations.0 %}
|
||||||
|
{% if organisation.flag_approved or isOrganisationRegistrant(organisation) %}
|
||||||
|
<li>
|
||||||
|
<a href="{{site.uri.public}}/organisations/o/{{organisation.slug}}"><i class="fas fa-sitemap fa-fw"></i> <span>{{ translate("ORGANISATION.SELF") }}</span></a>
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block navigation %}
|
||||||
|
{{ parent() }}
|
||||||
|
{{ block('organisations_nav') }}
|
||||||
|
{% endblock %}
|
||||||
|
|||||||
@@ -84,26 +84,9 @@
|
|||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
|
||||||
{% block main_panels %}
|
|
||||||
<div class="row">
|
|
||||||
{% if
|
|
||||||
checkAccess('uri_users') or
|
|
||||||
checkAccess('view_system_info') or
|
|
||||||
checkAccess('uri_activities') or
|
|
||||||
checkAccess('view_group_field', {
|
|
||||||
'group': current_user.group,
|
|
||||||
'property': 'users'
|
|
||||||
}) or
|
|
||||||
hasRole('site-admin') or
|
|
||||||
hasRole('organisations-admin')
|
|
||||||
%}
|
|
||||||
{% block left_panels %}
|
|
||||||
{% if checkAccess('uri_users') or checkAccess('view_system_info') or (hasRole('site-admin') or hasRole('organisations-admin')) %}
|
|
||||||
<div class="col-md-6 col-sm-12 col-xs-12">
|
|
||||||
{% block latest_users %}{{ parent() }}{% endblock %}
|
|
||||||
|
|
||||||
{% block latest_organisations %}
|
{% block latest_organisations %}
|
||||||
{% if (hasRole('site-admin') or hasRole('organisations-admin')) and checkAccess('uri_activities') %}
|
{% if (hasRole('site-admin') or hasRole('organisations-admin')) %}
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-12">
|
<div class="col-sm-12">
|
||||||
<!-- ORGANISTIONS LIST -->
|
<!-- ORGANISTIONS LIST -->
|
||||||
@@ -149,63 +132,80 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block system_info %}{{ parent() }}{% endblock %}
|
|
||||||
|
|
||||||
|
{% set empty_dashboard = true %}
|
||||||
|
{% block main_panels %}
|
||||||
|
{% if
|
||||||
|
checkAccess('uri_users') or
|
||||||
|
checkAccess('view_group_field', {
|
||||||
|
'group': current_user.group,
|
||||||
|
'property': 'users'
|
||||||
|
}) or
|
||||||
|
hasRole('site-admin') or
|
||||||
|
hasRole('organisations-admin')
|
||||||
|
%}
|
||||||
|
{% set empty_dashboard = false %}
|
||||||
|
<div class="row">
|
||||||
|
{% block left_panels %}
|
||||||
|
<div class="col-md-6 col-sm-12 col-xs-12">
|
||||||
|
{{ block("latest_users") }}
|
||||||
|
|
||||||
|
{{ block("group_users_summary") }}
|
||||||
</div>
|
</div>
|
||||||
<!-- /.col -->
|
<!-- /.col -->
|
||||||
{% endif %}
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block right_panels %}
|
{% block right_panels %}
|
||||||
{% block activities_summary %}{{ parent() }}{% endblock %}
|
|
||||||
|
|
||||||
{% block organisations_summary %}
|
|
||||||
{% if ((hasRole('site-admin') or hasRole('organisations-admin'))) and not checkAccess('uri_activities') %}
|
|
||||||
<div class="col-md-6 col-sm-12 col-xs-12">
|
<div class="col-md-6 col-sm-12 col-xs-12">
|
||||||
<!-- ORGANISTIONS LIST -->
|
{{ block("latest_organisations") }}
|
||||||
<div class="box box-info">
|
|
||||||
<div class="box-header with-border">
|
|
||||||
<h3 class="box-title">{{translate("ORGANISATION.LATEST")}}</h3>
|
|
||||||
</div>
|
</div>
|
||||||
<!-- /.box-header -->
|
{% endblock %}
|
||||||
<div class="box-body no-padding clearfix">
|
|
||||||
{% for organisation in organisations %}
|
|
||||||
|
|
||||||
<div class="col-sm-6 col-xs-12">
|
|
||||||
<div class="box box-widget widget-user-2 widget-organisations">
|
|
||||||
<div class="widget-user-header bg-green">
|
|
||||||
<h3 class="widget-user-username">{{organisation.name}}</h3>
|
|
||||||
<h5 class="widget-user-desc">{{organisation.description}}</h5>
|
|
||||||
</div>
|
|
||||||
<div class="box-footer no-padding">
|
|
||||||
<ul class="nav nav-stacked">
|
|
||||||
<li><a href="{{site.uri.public}}/organisations/o/{{organisation.slug}}">{{translate("CREATED_ON")}} <span class="pull-right badge {% if organisation.flag_approved %}bg-green{% else %}bg-yellow{% endif %}">{{organisation.created_at}}</span></a></li>
|
|
||||||
<li><a href="{{site.uri.public}}/organisations/o/{{organisation.slug}}">{{translate("MEMBER", 2)}} <span class="pull-right badge bg-aqua">{{organisation.members.count}}</span></a></li>
|
|
||||||
<li><a href="{{site.uri.public}}/organisations/o/{{organisation.slug}}">{{translate("ADMIN", 2)}} <span class="pull-right badge bg-aqua">{{organisation.administrators.count}}</span></a></li>
|
|
||||||
<li><a href="{{site.uri.public}}/organisations/o/{{organisation.slug}}">{{translate("PENDING", 2)}} <span class="pull-right badge {% if organisation.pendingMembers.count == 0 %}bg-green{% else %}bg-yellow{% endif %}">{{organisation.pendingMembers.count}}</span></a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{% endfor %}
|
|
||||||
<!-- /.organistions-list -->
|
|
||||||
</div>
|
|
||||||
<!-- /.box-body -->
|
|
||||||
<div class="box-footer text-center">
|
|
||||||
<a href="{{site.uri.public}}/organisations" class="uppercase">{{translate("ORGANISATION.VIEW_ALL")}}</a>
|
|
||||||
</div>
|
|
||||||
<!-- /.box-footer -->
|
|
||||||
</div>
|
|
||||||
<!--/.box -->
|
|
||||||
</div>
|
</div>
|
||||||
|
<!-- /.row -->
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block group_users_summary %}{{ parent() }}{% endblock %}
|
{% if checkAccess('uri_activities') %}
|
||||||
{% endblock %}
|
{% set empty_dashboard = false %}
|
||||||
{% else %}
|
<div class="row">
|
||||||
{% block user_welcome %}{{ parent() }}{% endblock %}
|
{% if checkAccess('uri_activities') %}
|
||||||
|
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||||
|
<div id="widget-activities" class="box box-primary">
|
||||||
|
<div class="box-header">
|
||||||
|
<h3 class="box-title"><i class="fas fa-tasks fa-fw"></i> {{translate('ACTIVITY', 2)}}</h3>
|
||||||
|
{% include "tables/table-tool-menu.html.twig" %}
|
||||||
|
</div>
|
||||||
|
<div class="box-body">
|
||||||
|
{% include "tables/activities.html.twig" with {
|
||||||
|
"table" : {
|
||||||
|
"id" : "table-activities",
|
||||||
|
"columns" : ["user"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
%}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
<!-- /.row -->
|
<!-- /.row -->
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if
|
||||||
|
checkAccess('view_system_info') or
|
||||||
|
hasRole('site-admin')
|
||||||
|
%}
|
||||||
|
{% set empty_dashboard = false %}
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-6 col-sm-12 col-xs-12">
|
||||||
|
{{ block("system_info") }}
|
||||||
|
</div>
|
||||||
|
<!-- /.col -->
|
||||||
|
</div>
|
||||||
|
<!-- /.row -->
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if empty_dashboard == true %}
|
||||||
|
{{ block("user_welcome") }}
|
||||||
|
{% endif %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
@@ -19,9 +19,9 @@
|
|||||||
<table id="{{table.id}}" class="tablesorter table table-bordered table-hover table-striped" data-sortlist="{{table.sortlist}}">
|
<table id="{{table.id}}" class="tablesorter table table-bordered table-hover table-striped" data-sortlist="{{table.sortlist}}">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th class="sorter-metatext" data-column-name="name" data-column-template="#{{table.id}}-column-info" data-priority="1">{{translate('ORGANISATION')}} <i class="fas fa-sort"></i></th>
|
<th class="sorter-metatext filter-metatext" data-column-name="name" data-column-template="#{{table.id}}-column-info" data-priority="1">{{translate('ORGANISATION')}} <i class="fas fa-sort"></i></th>
|
||||||
{% if 'description' not in table.hidden_columns %}
|
{% if 'description' not in table.hidden_columns %}
|
||||||
<th class="sorter-metatext" data-column-name="description" data-column-template="#{{table.id}}-column-description" data-priority="2">{{translate("DESCRIPTION")}} <i class="fas fa-sort"></i></th>
|
<th class="sorter-metatext filter-metatext" data-column-name="description" data-column-template="#{{table.id}}-column-description" data-priority="2">{{translate("DESCRIPTION")}} <i class="fas fa-sort"></i></th>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if hasRole('site-admin') or hasRole('organisations-admin') or (current_user.adminForOrganisations.count > 0) -%}
|
{% if hasRole('site-admin') or hasRole('organisations-admin') or (current_user.adminForOrganisations.count > 0) -%}
|
||||||
<th class="filter-select filter-metatext" data-column-name="status" data-column-template="#{{table.id}}-column-status" data-priority="2">{{translate("STATUS")}} <i class="fas fa-sort"></i></th>
|
<th class="filter-select filter-metatext" data-column-name="status" data-column-template="#{{table.id}}-column-status" data-priority="2">{{translate("STATUS")}} <i class="fas fa-sort"></i></th>
|
||||||
|
|||||||
Reference in New Issue
Block a user