package controllers;
import org.bson.types.ObjectId;
import com.mongodb.BasicDBObject;
import net.vz.mongodb.jackson.DBQuery;
import net.vz.mongodb.jackson.DBQuery.Query;
import models.RecordedLocation;
import play.mvc.Controller;
import play.mvc.Http;
import play.mvc.Result;
import views.html.recordedlocations.*;
import play.mvc.Security;
@Security.Authenticated(AdminSecurity.class)
public class RecordedLocations extends Controller {
public static class deleteRequest {
public Long id;
public deleteRequest() {}
}
public static class listingRequest extends utils.BasicRequests.listingRequest {
public String sessId;
}
public static Result index() {
Http.Context.current().args.put("admin_module", "Recorded Locations");
Http.Context.current().args.put("admin_parent_section", "recorded_locations");
listingRequest params = form( listingRequest.class ).bindFromRequest().get();
//Listview init
Query adminQuery = DBQuery.exists("sessionId");
if( params.sessId != null && !params.sessId.isEmpty() ) {
adminQuery.is("sessionId", new ObjectId( params.sessId ) );
}
net.vz.mongodb.jackson.DBCursor<RecordedLocation.Model> admins = models.RecordedLocation.coll.find( adminQuery )
.skip( params.resultsPerPage * params.p - params.resultsPerPage ).limit( params.resultsPerPage )
.sort( new BasicDBObject("lastActionAt", -1) );
params.setTotalResults( models.RecordedLocation.coll.find( adminQuery ).count() );
return ok( listview.render( params , admins ) );
}
}