mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-18 15:33:15 +00:00
Add method to laod a list
This commit is contained in:
@@ -146,10 +146,10 @@ class Push implements ControllerProviderInterface
|
|||||||
$RecommendedUsers = $userSelection($push->get_elements());
|
$RecommendedUsers = $userSelection($push->get_elements());
|
||||||
|
|
||||||
$params = array(
|
$params = array(
|
||||||
'push' => $push,
|
'push' => $push,
|
||||||
'message' => '',
|
'message' => '',
|
||||||
'lists' => $repository->findUserLists($app['Core']->getAuthenticatedUser()),
|
'lists' => $repository->findUserLists($app['Core']->getAuthenticatedUser()),
|
||||||
'context' => 'Feedback',
|
'context' => 'Feedback',
|
||||||
'RecommendedUsers' => $RecommendedUsers
|
'RecommendedUsers' => $RecommendedUsers
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -455,65 +455,8 @@ class Push implements ControllerProviderInterface
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
$controllers->get('/search-user/', function(Application $app)
|
$controllers->get('/user/{usr_id}/', function(Application $app, $usr_id) use ($userFormatter)
|
||||||
{
|
{
|
||||||
$request = $app['request'];
|
|
||||||
$em = $app['Core']->getEntityManager();
|
|
||||||
$user = $app['Core']->getAuthenticatedUser();
|
|
||||||
|
|
||||||
$query = new \User_Query(\appbox::get_instance());
|
|
||||||
|
|
||||||
$query->on_bases_where_i_am($user->ACL(), array('canpush'));
|
|
||||||
|
|
||||||
$query->like(\User_Query::LIKE_FIRSTNAME, $request->get('query'))
|
|
||||||
->like(\User_Query::LIKE_LASTNAME, $request->get('query'))
|
|
||||||
->like(\User_Query::LIKE_LOGIN, $request->get('query'))
|
|
||||||
->like_match(\User_Query::LIKE_MATCH_OR);
|
|
||||||
|
|
||||||
$result = $query->include_phantoms()
|
|
||||||
->limit(0, 50)
|
|
||||||
->execute()->get_results();
|
|
||||||
|
|
||||||
$repository = $em->getRepository('\Entities\UsrList');
|
|
||||||
|
|
||||||
$lists = $repository->findUserListLike($user, $request->get('query'));
|
|
||||||
|
|
||||||
$datas = array();
|
|
||||||
|
|
||||||
if ($lists)
|
|
||||||
{
|
|
||||||
foreach ($lists as $list)
|
|
||||||
{
|
|
||||||
$datas[] = array(
|
|
||||||
'type' => 'LIST'
|
|
||||||
, 'name' => $list->getName()
|
|
||||||
, 'quantity' => $list->getUsers()->count()
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($result)
|
|
||||||
{
|
|
||||||
foreach ($result as $user)
|
|
||||||
{
|
|
||||||
$datas[] = array(
|
|
||||||
'type' => 'USER'
|
|
||||||
, 'usr_id' => $user->get_id()
|
|
||||||
, 'firstname' => $user->get_firstname()
|
|
||||||
, 'lastname' => $user->get_lastname()
|
|
||||||
, 'email' => $user->get_email()
|
|
||||||
, 'display_name' => $user->get_display_name()
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$Json = $app['Core']['Serializer']->serialize($datas, 'json');
|
|
||||||
|
|
||||||
return new Response($Json, 200, array('Content-Type' => 'application/json'));
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
$controllers->get('/load-user/', function(Application $app){
|
|
||||||
|
|
||||||
$datas = null;
|
$datas = null;
|
||||||
|
|
||||||
@@ -525,7 +468,7 @@ class Push implements ControllerProviderInterface
|
|||||||
|
|
||||||
$query->on_bases_where_i_am($user->ACL(), array('canpush'));
|
$query->on_bases_where_i_am($user->ACL(), array('canpush'));
|
||||||
|
|
||||||
$query->in(array($request->get('usr_id')));
|
$query->in(array($usr_id));
|
||||||
|
|
||||||
$result = $query->include_phantoms()
|
$result = $query->include_phantoms()
|
||||||
->limit(0, 1)
|
->limit(0, 1)
|
||||||
@@ -535,21 +478,35 @@ class Push implements ControllerProviderInterface
|
|||||||
{
|
{
|
||||||
foreach ($result as $user)
|
foreach ($result as $user)
|
||||||
{
|
{
|
||||||
$datas = array(
|
$datas = $userFormatter($user);
|
||||||
'type' => 'USER'
|
|
||||||
, 'usr_id' => $user->get_id()
|
|
||||||
, 'firstname' => $user->get_firstname()
|
|
||||||
, 'lastname' => $user->get_lastname()
|
|
||||||
, 'email' => $user->get_email()
|
|
||||||
, 'display_name' => $user->get_display_name()
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$Json = $app['Core']['Serializer']->serialize($datas, 'json');
|
$Json = $app['Core']['Serializer']->serialize($datas, 'json');
|
||||||
|
|
||||||
return new Response($Json, 200, array('Content-Type' => 'application/json'));
|
return new Response($Json, 200, array('Content-Type' => 'application/json'));
|
||||||
});
|
})->assert('usr_id', '\d+');
|
||||||
|
|
||||||
|
$controllers->get('/list/{list_id}/', function(Application $app, $list_id) use ($listFormatter)
|
||||||
|
{
|
||||||
|
$datas = null;
|
||||||
|
|
||||||
|
$em = $app['Core']->getEntityManager();
|
||||||
|
$user = $app['Core']->getAuthenticatedUser();
|
||||||
|
|
||||||
|
$repository = $em->getRepository('\Entities\UsrList');
|
||||||
|
|
||||||
|
$list = $repository->findUserListByUserAndId($user, $list_id);
|
||||||
|
|
||||||
|
if ($list)
|
||||||
|
{
|
||||||
|
$datas = $listFormatter($list);
|
||||||
|
}
|
||||||
|
|
||||||
|
$Json = $app['Core']['Serializer']->serialize($datas, 'json');
|
||||||
|
|
||||||
|
return new Response($Json, 200, array('Content-Type' => 'application/json'));
|
||||||
|
})->assert('list_id', '\d+');
|
||||||
|
|
||||||
$controllers->post('/add-user/', function(Application $app, Request $request) use ($userFormatter)
|
$controllers->post('/add-user/', function(Application $app, Request $request) use ($userFormatter)
|
||||||
{
|
{
|
||||||
|
@@ -44,7 +44,7 @@
|
|||||||
<ul>
|
<ul>
|
||||||
{% for list in lists %}
|
{% for list in lists %}
|
||||||
<li>
|
<li>
|
||||||
<a href="#" class="list_loader" href="/prod/push/lists/list/{{ list.getId() }}/">
|
<a class="list_loader" href="/prod/push/list/{{ list.getId() }}/">
|
||||||
{% if list.getOwner(user).getRole() >= constant('\\Entities\\UsrListOwner::ROLE_EDITOR') %}
|
{% if list.getOwner(user).getRole() >= constant('\\Entities\\UsrListOwner::ROLE_EDITOR') %}
|
||||||
<img src="/skins/prod/Push/list-icon.png" />
|
<img src="/skins/prod/Push/list-icon.png" />
|
||||||
{% else %}
|
{% else %}
|
||||||
|
@@ -242,6 +242,21 @@
|
|||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$('a.list_loader', this.container).bind('click', function(){
|
||||||
|
var url = $(this).attr('href');
|
||||||
|
|
||||||
|
var callbackList = function(list){
|
||||||
|
for(i in list.entries)
|
||||||
|
{
|
||||||
|
this.selectUser(list.entries[i].User);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$this.loadList(url, callbackList)
|
||||||
|
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
$('.options button', this.container).button();
|
$('.options button', this.container).button();
|
||||||
|
|
||||||
$('form.list_saver', this.container).bind('submit', function(){
|
$('form.list_saver', this.container).bind('submit', function(){
|
||||||
@@ -345,7 +360,7 @@
|
|||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: 'GET',
|
type: 'GET',
|
||||||
url: '/prod/push/load-user/',
|
url: '/prod/push/user/' + usr_id + '/',
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
data: {usr_id : usr_id},
|
data: {usr_id : usr_id},
|
||||||
success: function(data){
|
success: function(data){
|
||||||
@@ -356,6 +371,21 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
loadList : function(url, callback) {
|
||||||
|
var $this = this;
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: url,
|
||||||
|
dataType: 'json',
|
||||||
|
success: function(data){
|
||||||
|
if(typeof callback === 'function')
|
||||||
|
{
|
||||||
|
callback.call($this, data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
appendBadge : function(badge){
|
appendBadge : function(badge){
|
||||||
$('.user_content .badges', this.container).append(badge);
|
$('.user_content .badges', this.container).append(badge);
|
||||||
},
|
},
|
||||||
|
Reference in New Issue
Block a user