<?php
namespace App\Controller;
use App\Entity\User;
use App\Entity\Categorie;
use App\Entity\Subcategorie;
use App\Entity\Products;
use App\Entity\PvDetails;
use App\Entity\Complaint;
use App\Entity\ExpDays;
use App\Entity\FraudComplaint;
use App\Entity\FraudComplaintProducts;
use App\Entity\Campaign;
use App\Entity\AgentGroup;
use App\Entity\Notifications;
use App\Form\RegistrationFormType;
use File;
use App\Util\Mailer;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Validator;
use Symfony\Component\Validator\Constraints\IsTrue;
use Symfony\Component\Validator\Constraints\Length;
use Symfony\Component\Validator\Constraints\NotBlank;
use App\Service\FileUploader;
use Doctrine\ORM\EntityManager;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Security\Http\Authentication\UserAuthenticatorInterface;
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
use PhpOffice\PhpSpreadsheet\IOFactory;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
class HomeController extends AbstractController
{
private $dispatcher;
private $mailer;
private $entityManager;
public function __construct(
EventDispatcherInterface $dispatcher,
Mailer $mailer,
UrlGeneratorInterface $urlGenerator,
EntityManagerInterface $entityManager
) {
$this->entityManager = $entityManager;
$this->dispatcher = $dispatcher;
$this->mailer = $mailer;
$this->urlGenerator = $urlGenerator;
}
/**
* @Route("/switch_language/{id}/{lang}", name="app_switch_language")
*/
public function switch_language(User $request,$lang)
{
if($lang == 1){
$lang='en';
}else{
$lang='fr';
}
// $user = $this->getUser();
$em = $this->getDoctrine()->getManager();
$request->setLang($lang);
$em->persist($request);
$em->flush();
if($lang == 'en'){
$this->addFlash('green', 'You have successfully change the language.');
}elseif($lang == 'fr'){
$this->addFlash('green', 'Vous avez réussi à changer la langue.');
}else{
$this->addFlash('green', 'You have successfully change the language.');
}
return $this->redirect($_SERVER['HTTP_REFERER']);
}
/**
* @Route("/home", name="app_home")
*/
public function index(): Response
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$type_user=$user->getType();
$allid=explode(",", $user->getRolebyadmin());
$roles_client=$this->getDoctrine()->getRepository('App\Entity\Rolebyadmin')->findOneBySomeField($allid);
if($type_user == "SuperAdmin" || $type_user == "Client Admin"){
$all_user= $this->getDoctrine()->getRepository('App\Entity\User')->findAllFieldUserCount();
$all_user_count=count($all_user);
$all_agent= $this->getDoctrine()->getRepository('App\Entity\User')->findAllFieldAgentCount();
$all_agent_count=count($all_agent);
$all_agent_group= $this->getDoctrine()->getRepository('App\Entity\AgentGroup')->findBy(array('status'=>true));
$all_agent_group_count=count($all_agent_group);
$all_product= $this->getDoctrine()->getRepository('App\Entity\Products')->findBy(array('status'=>true));
$all_product_count=count($all_product);
$all_pv_unpaid= $this->getDoctrine()->getRepository('App\Entity\FraudComplaint')->findBy(array('status'=>0));
$all_pv_unpaid_count=count($all_pv_unpaid);
$all_pv_paid= $this->getDoctrine()->getRepository('App\Entity\FraudComplaint')->findBy(array('status'=>1));
$all_pv_paid_count=count($all_pv_paid);
$paidamount = $this->getDoctrine()->getRepository('App\Entity\FraudComplaint')->findBy(
array('status'=>1),
array('id'=>'desc'),
);
$paidamount_sum = 0;
foreach ($paidamount as $key => $value) {
$pv = $this->getDoctrine()->getRepository('App\Entity\PvDetails')->findOneBy(array('id' => $value->getFine()));
if ($pv) {
$paidamount_sum += $pv->amount;
} else {
$paidamount_sum += 0;
}
}
$unpaidamount = $this->getDoctrine()->getRepository('App\Entity\FraudComplaint')->findBy(
array('status'=>0),
array('id'=>'desc'),
);
$unpaidamount_sum = 0;
foreach ($unpaidamount as $key => $value) {
$pv = $this->getDoctrine()->getRepository('App\Entity\PvDetails')->findOneBy(array('id' => $value->getFine()));
if ($pv) {
$unpaidamount_sum += $pv->amount;
} else {
$unpaidamount_sum += 0;
}
}
/*January start*/
$Pending_jan = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYearDashboard(
"0","1",date('Y')
);
$Pending_jan_count=count($Pending_jan);
$assigned_jan = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYearDashboard(
"1","1",date('Y')
);
$assigned_jan_count=count($assigned_jan);
$Resolved_jan = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYearDashboard(
"2","1",date('Y')
);
$Resolved_jan_count=count($Resolved_jan);
/*January end*/
/*February start*/
$Pending_feb = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYearDashboard(
"0","2",date('Y')
);
$Pending_feb_count=count($Pending_feb);
$assigned_feb = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYearDashboard(
"1","2",date('Y')
);
$assigned_feb_count=count($assigned_feb);
$Resolved_feb = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYearDashboard(
"2","2",date('Y')
);
$Resolved_feb_count=count($Resolved_feb);
/*February end*/
/*March start*/
$Pending_march = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYearDashboard(
"0","3",date('Y')
);
$Pending_march_count=count($Pending_march);
$assigned_march = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYearDashboard(
"1","3",date('Y')
);
$assigned_march_count=count($assigned_march);
$Resolved_march = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYearDashboard(
"2","3",date('Y')
);
$Resolved_march_count=count($Resolved_march);
/*March end*/
/*April start*/
$Pending_april = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYearDashboard(
"0","4",date('Y')
);
$Pending_april_count=count($Pending_april);
$assigned_april = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYearDashboard(
"1","4",date('Y')
);
$assigned_april_count=count($assigned_april);
$Resolved_april = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYearDashboard(
"2","4",date('Y')
);
$Resolved_april_count=count($Resolved_april);
/*April end*/
/*May start*/
$Pending_may = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYearDashboard(
"0","5",date('Y')
);
$Pending_may_count=count($Pending_may);
$assigned_may = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYearDashboard(
"1","5",date('Y')
);
$assigned_may_count=count($assigned_may);
$Resolved_may = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYearDashboard(
"2","5",date('Y')
);
$Resolved_may_count=count($Resolved_may);
/*May end*/
/*June start*/
$Pending_june = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYearDashboard(
"0","6",date('Y')
);
$Pending_june_count=count($Pending_june);
$assigned_june = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYearDashboard(
"1","6",date('Y')
);
$assigned_june_count=count($assigned_june);
$Resolved_june = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYearDashboard(
"2","6",date('Y')
);
$Resolved_june_count=count($Resolved_june);
/*June end*/
/*July start*/
$Pending_july = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYearDashboard(
"0","7",date('Y')
);
$Pending_july_count=count($Pending_july);
$assigned_july = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYearDashboard(
"1","7",date('Y')
);
$assigned_july_count=count($assigned_july);
$Resolved_july = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYearDashboard(
"2","7",date('Y')
);
$Resolved_july_count=count($Resolved_july);
/*July end*/
/*August start*/
$Pending_aug = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYearDashboard(
"0","8",date('Y')
);
$Pending_aug_count=count($Pending_aug);
$assigned_aug = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYearDashboard(
"1","8",date('Y')
);
$assigned_aug_count=count($assigned_aug);
$Resolved_aug = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYearDashboard(
"2","8",date('Y')
);
$Resolved_aug_count=count($Resolved_aug);
/*August end*/
/*September start*/
$Pending_sep = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYearDashboard(
"0","9",date('Y')
);
$Pending_sep_count=count($Pending_sep);
$assigned_sep = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYearDashboard(
"1","9",date('Y')
);
$assigned_sep_count=count($assigned_sep);
$Resolved_sep = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYearDashboard(
"2","9",date('Y')
);
$Resolved_sep_count=count($Resolved_sep);
/*September end*/
/*October start*/
$Pending_oct = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYearDashboard(
"0","10",date('Y')
);
$Pending_oct_count=count($Pending_oct);
$assigned_oct = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYearDashboard(
"1","10",date('Y')
);
$assigned_oct_count=count($assigned_oct);
$Resolved_oct = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYearDashboard(
"2","10",date('Y')
);
$Resolved_oct_count=count($Resolved_oct);
/*October end*/
/*November start*/
$Pending_nov = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYearDashboard(
"0","11",date('Y')
);
$Pending_nov_count=count($Pending_nov);
$assigned_nov = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYearDashboard(
"1","11",date('Y')
);
$assigned_nov_count=count($assigned_nov);
$Resolved_nov = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYearDashboard(
"2","11",date('Y')
);
$Resolved_nov_count=count($Resolved_nov);
/*November end*/
/*December start*/
$Pending_dec = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYearDashboard(
"0","12",date('Y')
);
$Pending_dec_count=count($Pending_dec);
$assigned_dec = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYearDashboard(
"1","12",date('Y')
);
$assigned_dec_count=count($assigned_dec);
$Resolved_dec = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYearDashboard(
"2","12",date('Y')
);
$Resolved_dec_count=count($Resolved_dec);
/*December end*/
$all_pending=[$Pending_jan_count,$Pending_feb_count,$Pending_march_count,$Pending_april_count,$Pending_may_count,$Pending_june_count,$Pending_july_count,$Pending_aug_count,$Pending_sep_count,$Pending_oct_count,$Pending_nov_count,$Pending_dec_count];
$allnew_complaint_count=implode(',', $all_pending);
$all_assigned=[$assigned_jan_count,$assigned_feb_count,$assigned_march_count,$assigned_april_count,$assigned_may_count,$assigned_june_count,$assigned_july_count,$assigned_aug_count,$assigned_sep_count,$assigned_oct_count,$assigned_nov_count,$assigned_dec_count];
$all_process_complaint_count=implode(',', $all_assigned);
$all_resolved=[$Resolved_jan_count,$Resolved_feb_count,$Resolved_march_count,$Resolved_april_count,$Resolved_may_count,$Resolved_june_count,$Resolved_july_count,$Resolved_aug_count,$Resolved_sep_count,$Resolved_oct_count,$Resolved_nov_count,$Resolved_dec_count];
$all_resolved_complaint_count=implode(',', $all_resolved);
}elseif($type_user == "Supervisor" || $type_user == "Hypervisor" || $type_user =="Operational Manager" || $type_user =="Financial Manager"){
$all_user= $this->getDoctrine()->getRepository('App\Entity\User')->findAllFieldUserCount();
$all_user_count=count($all_user);
$all_agent= $this->getDoctrine()->getRepository('App\Entity\User')->findAllFieldAgentCount();
$all_agent_count=count($all_agent);
$all_agent_group= $this->getDoctrine()->getRepository('App\Entity\AgentGroup')->findBy(array('status'=>true,'city_id'=>$user->getCityId()));
$all_agent_group_count=count($all_agent_group);
$all_product= $this->getDoctrine()->getRepository('App\Entity\Products')->findBy(array('status'=>true));
$all_product_count=count($all_product);
$all_pv_unpaid= $this->getDoctrine()->getRepository('App\Entity\FraudComplaint')->findBy(array('status'=>0,'city'=>$user->getCityId()));
$all_pv_unpaid_count=count($all_pv_unpaid);
$all_pv_paid= $this->getDoctrine()->getRepository('App\Entity\FraudComplaint')->findBy(array('status'=>1,'city'=>$user->getCityId()));
$all_pv_paid_count=count($all_pv_paid);
$paidamount = $this->getDoctrine()->getRepository('App\Entity\FraudComplaint')->findBy(
array('status'=>1,'city'=>$user->getCityId()),
array('id'=>'desc'),
);
$paidamount_sum = 0;
foreach ($paidamount as $key => $value) {
$pv = $this->getDoctrine()->getRepository('App\Entity\PvDetails')->findOneBy(array('id' => $value->getFine()));
if ($pv) {
$paidamount_sum += $pv->amount;
} else {
$paidamount_sum += 0;
}
}
$unpaidamount = $this->getDoctrine()->getRepository('App\Entity\FraudComplaint')->findBy(
array('status'=>0,'city'=>$user->getCityId()),
array('id'=>'desc'),
);
$unpaidamount_sum = 0;
foreach ($unpaidamount as $key => $value) {
$pv = $this->getDoctrine()->getRepository('App\Entity\PvDetails')->findOneBy(array('id' => $value->getFine()));
if ($pv) {
$unpaidamount_sum += $pv->amount;
} else {
$unpaidamount_sum += 0;
}
}
/*January start*/
$Pending_jan = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"0",$user->getCityId(),"1",date('Y')
);
$Pending_jan_count=count($Pending_jan);
$assigned_jan = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"1",$user->getCityId(),"1",date('Y')
);
$assigned_jan_count=count($assigned_jan);
$Resolved_jan = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"2",$user->getCityId(),"1",date('Y')
);
$Resolved_jan_count=count($Resolved_jan);
/*January end*/
/*February start*/
$Pending_feb = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"0",$user->getCityId(),"2",date('Y')
);
$Pending_feb_count=count($Pending_feb);
$assigned_feb = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"1",$user->getCityId(),"2",date('Y')
);
$assigned_feb_count=count($assigned_feb);
$Resolved_feb = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"2",$user->getCityId(),"2",date('Y')
);
$Resolved_feb_count=count($Resolved_feb);
/*February end*/
/*March start*/
$Pending_march = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"0",$user->getCityId(),"3",date('Y')
);
$Pending_march_count=count($Pending_march);
$assigned_march = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"1",$user->getCityId(),"3",date('Y')
);
$assigned_march_count=count($assigned_march);
$Resolved_march = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"2",$user->getCityId(),"3",date('Y')
);
$Resolved_march_count=count($Resolved_march);
/*March end*/
/*April start*/
$Pending_april = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"0",$user->getCityId(),"4",date('Y')
);
$Pending_april_count=count($Pending_april);
$assigned_april = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"1",$user->getCityId(),"4",date('Y')
);
$assigned_april_count=count($assigned_april);
$Resolved_april = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"2",$user->getCityId(),"4",date('Y')
);
$Resolved_april_count=count($Resolved_april);
/*April end*/
/*May start*/
$Pending_may = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"0",$user->getCityId(),"5",date('Y')
);
$Pending_may_count=count($Pending_may);
$assigned_may = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"1",$user->getCityId(),"5",date('Y')
);
$assigned_may_count=count($assigned_may);
$Resolved_may = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"2",$user->getCityId(),"5",date('Y')
);
$Resolved_may_count=count($Resolved_may);
/*May end*/
/*June start*/
$Pending_june = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"0",$user->getCityId(),"6",date('Y')
);
$Pending_june_count=count($Pending_june);
$assigned_june = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"1",$user->getCityId(),"6",date('Y')
);
$assigned_june_count=count($assigned_june);
$Resolved_june = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"2",$user->getCityId(),"6",date('Y')
);
$Resolved_june_count=count($Resolved_june);
/*June end*/
/*July start*/
$Pending_july = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"0",$user->getCityId(),"7",date('Y')
);
$Pending_july_count=count($Pending_july);
$assigned_july = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"1",$user->getCityId(),"7",date('Y')
);
$assigned_july_count=count($assigned_july);
$Resolved_july = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"2",$user->getCityId(),"7",date('Y')
);
$Resolved_july_count=count($Resolved_july);
/*July end*/
/*August start*/
$Pending_aug = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"0",$user->getCityId(),"8",date('Y')
);
$Pending_aug_count=count($Pending_aug);
$assigned_aug = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"1",$user->getCityId(),"8",date('Y')
);
$assigned_aug_count=count($assigned_aug);
$Resolved_aug = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"2",$user->getCityId(),"8",date('Y')
);
$Resolved_aug_count=count($Resolved_aug);
/*August end*/
/*September start*/
$Pending_sep = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"0",$user->getCityId(),"9",date('Y')
);
$Pending_sep_count=count($Pending_sep);
$assigned_sep = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"1",$user->getCityId(),"9",date('Y')
);
$assigned_sep_count=count($assigned_sep);
$Resolved_sep = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"2",$user->getCityId(),"9",date('Y')
);
$Resolved_sep_count=count($Resolved_sep);
/*September end*/
/*October start*/
$Pending_oct = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"0",$user->getCityId(),"10",date('Y')
);
$Pending_oct_count=count($Pending_oct);
$assigned_oct = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"1",$user->getCityId(),"10",date('Y')
);
$assigned_oct_count=count($assigned_oct);
$Resolved_oct = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"2",$user->getCityId(),"10",date('Y')
);
$Resolved_oct_count=count($Resolved_oct);
/*October end*/
/*November start*/
$Pending_nov = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"0",$user->getCityId(),"11",date('Y')
);
$Pending_nov_count=count($Pending_nov);
$assigned_nov = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"1",$user->getCityId(),"11",date('Y')
);
$assigned_nov_count=count($assigned_nov);
$Resolved_nov = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"2",$user->getCityId(),"11",date('Y')
);
$Resolved_nov_count=count($Resolved_nov);
/*November end*/
/*December start*/
$Pending_dec = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"0",$user->getCityId(),"12",date('Y')
);
$Pending_dec_count=count($Pending_dec);
$assigned_dec = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"1",$user->getCityId(),"12",date('Y')
);
$assigned_dec_count=count($assigned_dec);
$Resolved_dec = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"2",$user->getCityId(),"12",date('Y')
);
$Resolved_dec_count=count($Resolved_dec);
/*December end*/
$all_pending=[$Pending_jan_count,$Pending_feb_count,$Pending_march_count,$Pending_april_count,$Pending_may_count,$Pending_june_count,$Pending_july_count,$Pending_aug_count,$Pending_sep_count,$Pending_oct_count,$Pending_nov_count,$Pending_dec_count];
$allnew_complaint_count=implode(',', $all_pending);
// $allnew_complaint_count="1000, 2000, 3000, 2500, 2700, 2500, 3000,1000, 2000, 3000, 2500,130";
$all_assigned=[$assigned_jan_count,$assigned_feb_count,$assigned_march_count,$assigned_april_count,$assigned_may_count,$assigned_june_count,$assigned_july_count,$assigned_aug_count,$assigned_sep_count,$assigned_oct_count,$assigned_nov_count,$assigned_dec_count];
$all_process_complaint_count=implode(',', $all_assigned);
// $all_process_complaint_count="600, 3000, 1000, 500, 700, 5500, 3000,1000, 2000, 3000, 2500,130";
$all_resolved=[$Resolved_jan_count,$Resolved_feb_count,$Resolved_march_count,$Resolved_april_count,$Resolved_may_count,$Resolved_june_count,$Resolved_july_count,$Resolved_aug_count,$Resolved_sep_count,$Resolved_oct_count,$Resolved_nov_count,$Resolved_dec_count];
$all_resolved_complaint_count=implode(',', $all_resolved);
// $all_resolved_complaint_count="100, 200, 4000, 250, 270, 250, 300,100, 200, 300, 250,1300";
}else{
$all_user_count='0';
$all_agent_count='0';
$all_agent_group_count='0';
$all_product_count='0';
$all_pv_unpaid_count='0';
$all_pv_paid_count='0';
$allnew_complaint_count='0';
$all_process_complaint_count='0';
$all_resolved_complaint_count='0';
$unpaidamount_sum = '0';
$paidamount_sum = '0';
}
return $this->render('home/index.html.twig', [
'controller_name' => 'HomeController',
'user'=>$user,
'type_user'=>$type_user,
'roles_client'=>$roles_client,
'all_user_count'=>$all_user_count,
'all_agent_count'=>$all_agent_count,
'all_agent_group_count'=>$all_agent_group_count,
'all_product_count'=>$all_product_count,
'all_pv_paid_count'=>$all_pv_paid_count,
'all_pv_unpaid_count'=>$all_pv_unpaid_count,
'allnew_complaint_count'=>$allnew_complaint_count,
'all_process_complaint_count'=>$all_process_complaint_count,
'all_resolved_complaint_count'=>$all_resolved_complaint_count,
'unpaidamount_sum' =>$unpaidamount_sum,
'paidamount_sum'=>$paidamount_sum
]);
}
/**
* @Route("/profile", name="app_profile")
*/
public function profile(Request $request, UserPasswordEncoderInterface $passwordEncoder)
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$em = $this->getDoctrine()->getManager();
if ($request->getMethod() === "POST") {
// Change password
if ($request->request->get('newpassword')) {
$user = $this->getUser();
// print_r($request->request->all());die;
$old_pwd = $request->request->get('oldpassword');
$newPassword = $request->get('newpassword');
$new_pwd_confirm = $request->get('pass_confirm');
$checkPass = $passwordEncoder->isPasswordValid($user, $old_pwd);
if ($checkPass === true) {
if($newPassword === $new_pwd_confirm){
$newEncodedPassword = $passwordEncoder->encodePassword($user, $newPassword);
$user->setPassword($newEncodedPassword);
$em->persist($user);
$em->flush();
if($client->getLang() == 'en'){
$this->addFlash('green', 'Password change successfully..!!');
}else{
$this->addFlash('green', 'Changement de mot de passe réussi..!');
}
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'Password not matching..!!');
}else{
$this->addFlash('red', 'Le mot de passe ne correspond pas..!!');
}
}
} else {
if($client->getLang() == 'en'){
$this->addFlash('red', 'Old password is incorrect..!!');
}else{
$this->addFlash('red', "L'ancien mot de passe est incorrect..!!");
}
}
}
}
$user = $this->getUser();
$type_user=$user->getType();
$allid=explode(",", $user->getRolebyadmin());
$roles_client=$this->getDoctrine()->getRepository('App\Entity\Rolebyadmin')->findOneBySomeField($allid);
return $this->render('home/profile.html.twig',
array(
// 'form'=>$form->createView(),
'client' => $client,
'type_user'=>$type_user,
'roles_client'=>$roles_client,
'implode_pending'=>'',
'implode_assigned'=>'',
'implode_resolved'=>'',
)
);
}
/**
* @Route("/update-profile", name="app_update_profile")
*/
public function update_profile(Request $request )
{
if($this->getUser()){
$client = $this->getUser();
}else{
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$result = $this->getDoctrine()->getRepository('App\Entity\User')->findOneBySomeField(array('value'=>$user->getId()),array('email'=>$request->request->get('email')));
if (empty($result)) {
$em = $this->getDoctrine()->getManager();
if ($request->getMethod() === "POST") {
$user = $this->getUser();
$name = $request->request->get('name');
$email = $request->get('email');
$mobile = $request->get('mobile');
$user->setName($name);
$user->setEmail($email);
$user->setMobile($mobile);
$em->persist($user);
$em->flush();
if($client->getLang() == 'en'){
$this->addFlash('green', 'Profile updated successfully..!!');
}else{
$this->addFlash('green', 'Profil mis à jour avec succès..!!');
}
}
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'There is already an account with this email');
}else{
$this->addFlash('red', 'Il existe déjà un compte avec cette adresse e-mail');
}
}
return $this->redirectToRoute('app_profile');
}
/**
* @Route("/manage-pv-detail", name="app_pv_detail")
*/
public function manage_pv_detail()
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$type_user=$user->getType();
$allid=explode(",", $user->getRolebyadmin());
$roles_client=$this->getDoctrine()->getRepository('App\Entity\Rolebyadmin')->findOneBySomeField($allid);
if($type_user == "SuperAdmin" || $type_user == "Client Admin"){
$datas = $this->getDoctrine()->getRepository('App\Entity\PvDetails')->findBy(array(),array('id'=>'desc'));
$page='home/manage_pv_detail.html.twig';
}else{
$page='security/pagenotfound.html.twig';
$datas = "";
}
return $this->render($page,
array(
'client' => $client,
'datas'=>$datas,
'type_user'=>$type_user,
'roles_client'=>$roles_client,
'implode_pending'=>'',
'implode_assigned'=>'',
'implode_resolved'=>'',
)
);
}
/**
* @Route("/request-pv-detail", name="app_create_pv_detail")
*/
public function create_pv_detail(Request $request)
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$user_id=$user->getId();
$em = $this->getDoctrine()->getManager();
if ($request->getMethod() === "POST") {
if($request->request->get('table_id') !=""){
$updateRequest = $this->getDoctrine()->getRepository('App\Entity\PvDetails')
->find($request->request->get('table_id'));
$updateRequest->setAmount($request->request->get('amount'));
$updateRequest->setFineFor($request->request->get('finefor'));
$em = $this->getDoctrine()->getManager();
$em->persist($updateRequest);
$em->flush();
if($client->getLang() == 'en'){
$this->addFlash('green', 'Pv detail update successfully..!!');
}else{
$this->addFlash('green', 'Mise à jour des détails du Pv avec succès..!!');
}
}else{
// print_r($request->request->all());die;
$addRequest = new PvDetails;
$addRequest->setAmount($request->request->get('amount'));
$addRequest->setFineFor($request->request->get('finefor'));
$addRequest->setStatus('1');
$em = $this->getDoctrine()->getManager();
$em->persist($addRequest);
$em->flush();
if($client->getLang() == 'en'){
$this->addFlash('green', 'Pv detail added successfully..!!');
}else{
$this->addFlash('green', 'Détail Pv ajouté avec succès..!!');
}
}
}
return $this->redirectToRoute('app_pv_detail');
}
/**
* @Route("/request-pv-detail-delete/{id}", name="app_pv_detail_delete")
*/
public function pv_detail_delete(PvDetails $request,$id)
{
$em = $this->getDoctrine()->getManager();
$request->getId($id);
$em->remove($request);
$em->flush();
if($client->getLang() == 'en'){
$this->addFlash('green','Pv detail deleted successfully..!!');
}else{
$this->addFlash('green','Pv detail deleted successfully..!!');
}
return $this->redirectToRoute('app_pv_detail');
}
/**
* @Route("/update-pv-detail-status/{id}/{status}", name="update_pv_detail_status")
*/
public function updatepvdetailstatus(PvDetails $request,$status)
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$em = $this->getDoctrine()->getManager();
$request->setStatus($status);
$em->persist($request);
$em->flush();
if($status == 1){
if($client->getLang() == 'en'){
$this->addFlash('green', 'You have enable the pv detail');
}else{
$this->addFlash('green', 'Vous avez activé le détail pv');
}
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'You have disable the pv detail');
}else{
$this->addFlash('red', 'Vous avez désactivé les détails de la P.V.');
}
}
return $this->redirectToRoute('app_pv_detail');
}
/**
* @Route("/manage-products", name="app_manage_product")
*/
public function manage_product()
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$type_user=$user->getType();
$allid=explode(",", $user->getRolebyadmin());
$roles_client=$this->getDoctrine()->getRepository('App\Entity\Rolebyadmin')->findOneBySomeField($allid);
if($type_user == "SuperAdmin" || $type_user == "Client Admin"){
$datas = $this->getDoctrine()->getRepository('App\Entity\Products')->findBy(array(),array('id'=>'desc'));
$categorie = $this->getDoctrine()->getRepository(Categorie::class)->findBy(array(),array('id'=>'desc'));
$subcategorie = $this->getDoctrine()->getRepository(Subcategorie::class)->findBy(array('status'=>'1'));
$page='home/manage_product.html.twig';
}else{
$page='security/pagenotfound.html.twig';
$datas = "";
$categorie ="";
$subcategorie ="";
}
return $this->render($page,
array(
'client' => $client,
'datas'=>$datas,
'category'=>$categorie,
'subcategory'=>$subcategorie,
'type_user'=>$type_user,
'roles_client'=>$roles_client,
'implode_pending'=>'',
'implode_assigned'=>'',
'implode_resolved'=>'',
)
);
}
/**
* @Route("/create_product", name="app_create_product")
*/
public function create_manage_product(Request $request,string $uploadDir,FileUploader $uploader)
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$user_id=$user->getId();
$em = $this->getDoctrine()->getManager();
if ($request->getMethod() === "POST") {
$categorie = $this->getDoctrine()->getRepository(Categorie::class)->findOneBy(array('id' => $request->request->get('categoryid')));
$subcategorie = $this->getDoctrine()->getRepository(Subcategorie::class)->findOneBy(array('id' => $request->request->get('subcategoryid')));
if($request->request->get('table_id') !=""){
$file = $request->files->get('image');
if (!empty($file))
{
$filename = $file->getClientOriginalName();
$uploader->upload($uploadDir, $file, $filename);
}else{
$filename = $request->request->get('oldimage');
}
$d=$request->request->get('description');
if (!empty($d))
{
$description=$request->request->get('description');
}else{
$description=$request->request->get('olddescription');
}
$updateRequest = $this->getDoctrine()->getRepository('App\Entity\Products')
->find($request->request->get('table_id'));
$updateRequest->setProductname($request->request->get('name'));
$updateRequest->setCategory($categorie);
$updateRequest->setSubcategory($subcategorie);
$updateRequest->setDescription($description);
$updateRequest->setRetailprice($request->request->get('retailprice'));
$updateRequest->setWholesaleprice($request->request->get('wholesaleprice'));
$updateRequest->setSemiretailprice($request->request->get('semiretailprice'));
$updateRequest->setImage($filename);
$updateRequest->setStatus('1');
$em = $this->getDoctrine()->getManager();
$em->persist($updateRequest);
$em->flush();
if($client->getLang() == 'en'){
$this->addFlash('green', 'Product update successfully..!!');
}else{
$this->addFlash('green', 'Mise à jour du produit réussie..!!');
}
}else{
$file = $request->files->get('image');
if (!empty($file))
{
$filename = $file->getClientOriginalName();
$uploader->upload($uploadDir, $file, $filename);
}else{
$filename=null;
}
$addRequest = new Products;
$addRequest->setProductname($request->request->get('name'));
$addRequest->setCategory($categorie);
$addRequest->setSubcategory($subcategorie);
$addRequest->setDescription($request->request->get('description'));
$addRequest->setRetailprice($request->request->get('retailprice'));
$addRequest->setWholesaleprice($request->request->get('wholesaleprice'));
$addRequest->setSemiretailprice($request->request->get('semiretailprice'));
$addRequest->setImage($filename);
$addRequest->setStatus('1');
$em = $this->getDoctrine()->getManager();
$em->persist($addRequest);
$em->flush();
if($client->getLang() == 'en'){
$this->addFlash('green', 'Product added successfully..!!');
}else{
$this->addFlash('green', 'Produit ajouté avec succès..!!');
}
}
}
return $this->redirectToRoute('app_manage_product');
}
/**
* @Route("/upload-excel", name="xlsx")
* @param Request $request
*/
public function xslx(Request $request)
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$file = $request->files->get('file'); // get the file from the sent request
$categorie = $this->getDoctrine()->getRepository(Categorie::class)->findOneBy(array('id' => $request->request->get('categoryid')));
$subcategorie = $this->getDoctrine()->getRepository(Subcategorie::class)->findOneBy(array('id' => $request->request->get('subcategoryid')));
$fileFolder = __DIR__ . '/../../public/images/'; //choose the folder in which the uploaded file will be stored
$filePathName = md5(uniqid()) . $file->getClientOriginalName();
// apply md5 function to generate an unique identifier for the file and concat it with the file extension
try {
$file->move($fileFolder, $filePathName);
} catch (FileException $e) {
dd($e);
}
// Open the file
if (($handle = fopen($fileFolder.$filePathName, "r")) !== false) {
// dd($handle);
$num = 1;
while (($data = fgetcsv($handle)) !== false) {
// Do the processing: Map line to entity, validate if needed
$entityManager = $this->getDoctrine()->getManager();
if( $num > 1 ){
if(count($data) == 6){
// dd($data['1']);
if(!empty($data['1'])){
if(!empty($data['2'])){
if(is_numeric($data['3']) !== false){
if(is_numeric($data['4']) !== false){
if(is_numeric($data['5']) !== false){
if(!empty($data['6'])){
$name = $data['1']; // store the first_name on each iteration
$description = $data['2']; // store the phone on each iteration
$retailprice = $data['3'];
$wholesaleprice = $data['4'];
$semiretailprice = $data['5'];
$image = $data['6'];
// dd($retailprice);
$addRequest = new Products;
$addRequest->setProductname($name);
$addRequest->setCategory($categorie);
$addRequest->setSubcategory($subcategorie);
$addRequest->setDescription($description);
$addRequest->setRetailprice($retailprice);
$addRequest->setWholesaleprice($wholesaleprice);
$addRequest->setSemiretailprice($semiretailprice);
$addRequest->setImage($image);
$addRequest->setStatus('1');
$em = $this->getDoctrine()->getManager();
$em->persist($addRequest);
$em->flush();
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'Something went wrong.Please download the sample file and try again.');
}else{
$this->addFlash('red', "Quelque chose s'est mal passé. Veuillez télécharger le fichier d'exemple et réessayer.");
}
return $this->redirectToRoute('app_manage_product');
}
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'Something went wrong.Please download the sample file and try again.');
}else{
$this->addFlash('red', "Quelque chose s'est mal passé. Veuillez télécharger le fichier d'exemple et réessayer.");
}
return $this->redirectToRoute('app_manage_product');
}
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'Something went wrong.Please download the sample file and try again.');
}else{
$this->addFlash('red', "Quelque chose s'est mal passé. Veuillez télécharger le fichier d'exemple et réessayer.");
}
return $this->redirectToRoute('app_manage_product');
}
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'Something went wrong.Please download the sample file and try again.');
}else{
$this->addFlash('red', "Quelque chose s'est mal passé. Veuillez télécharger le fichier d'exemple et réessayer.");
}
return $this->redirectToRoute('app_manage_product');
}
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'Something went wrong.Please download the sample file and try again.');
}else{
$this->addFlash('red', "Quelque chose s'est mal passé. Veuillez télécharger le fichier d'exemple et réessayer.");
}
return $this->redirectToRoute('app_manage_product');
}
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'Something went wrong.Please download the sample file and try again.');
}else{
$this->addFlash('red', "Quelque chose s'est mal passé. Veuillez télécharger le fichier d'exemple et réessayer.");
}
return $this->redirectToRoute('app_manage_product');
}
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'Something went wrong.Please download the sample file and try again.');
}else{
$this->addFlash('red', "Quelque chose s'est mal passé. Veuillez télécharger le fichier d'exemple et réessayer.");
}
return $this->redirectToRoute('app_manage_product');
}
}
$num++;
}
fclose($handle);
if($client->getLang() == 'en'){
$this->addFlash('green', 'Product uploaded successfully.');
}else{
$this->addFlash('green', 'Produit téléchargé avec succès.');
}
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'Something went wrong.Please download the sample file and try again.');
}else{
$this->addFlash('red', "Quelque chose s'est mal passé. Veuillez télécharger le fichier d'exemple et réessayer.");
}
return $this->redirectToRoute('app_manage_product');
}
return $this->redirectToRoute('app_manage_product');
}
/**
* @Route("/upload-all-product-image", name="app_product_image_upload")
*/
public function product_image_upload(Request $request,string $uploadDir,FileUploader $uploader)
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$files = $request->files->get('image');
if(!empty($files)){
$imgs=array();
$i=1;
foreach ($files as $key => $file) {
// code...
if (!empty($file))
{
$dirimg = $this->getDoctrine()->getRepository('App\Entity\Products')->findOneBy(array('image'=>$file->getClientOriginalName()));
if(!empty($dirimg))
{
// unlink($uploadDir."/".($file->getClientOriginalName()));
// dd($dirimg);
// exit;
}
$filename = $file->getClientOriginalName();
$uploader->upload($uploadDir, $file, $filename);
}else{
$filename = null;
}
}
if($client->getLang() == 'en'){
$this->addFlash('green','Product image uploaded successfully..!!');
}else{
$this->addFlash('green',"L'image du produit a été téléchargée avec succès..!!");
}
}
return $this->redirectToRoute('app_manage_product');
}
/**
* @Route("/request-product-delete/{id}", name="app_product_delete")
*/
public function product_delete(Products $request,$id)
{
$em = $this->getDoctrine()->getManager();
$request->getId($id);
$em->remove($request);
$em->flush();
$this->addFlash('green','Category deleted successfully..!!');
return $this->redirectToRoute('app_manage_product');
}
/**
* @Route("/update-product-status/{id}/{status}", name="update_product_status")
*/
public function updateRequestproductstatus(Products $request,$status)
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$em = $this->getDoctrine()->getManager();
$request->setStatus($status);
$em->persist($request);
$em->flush();
if($status == 1){
if($client->getLang() == 'en'){
$this->addFlash('green', 'You have enable the product');
}else{
$this->addFlash('green', 'Vous avez activé le produit');
}
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'You have disable the product');
}else{
$this->addFlash('red', 'Vous avez désactivé le produit');
}
}
return $this->redirectToRoute('app_manage_product');
}
/**
* @Route("/manage-category", name="app_manage_categories")
*/
public function manage_categories()
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$type_user=$user->getType();
$allid=explode(",", $user->getRolebyadmin());
$roles_client=$this->getDoctrine()->getRepository('App\Entity\Rolebyadmin')->findOneBySomeField($allid);
if($type_user == "SuperAdmin" || $type_user == "Client Admin"){
$datas = $this->getDoctrine()->getRepository('App\Entity\Subcategorie')->findBy(array(),array('id'=>'desc'));
$categorie = $this->getDoctrine()->getRepository(Categorie::class)->findBy(array(),array('id'=>'desc'));
$page='home/manage_categorie.html.twig';
}else{
$page='security/pagenotfound.html.twig';
$datas = "";
$categorie ="";
}
return $this->render($page,
array(
// 'form'=>$form->createView(),
'client' => $client,
'datas'=>$datas,
'category'=>$categorie,
'type_user'=>$type_user,
'roles_client'=>$roles_client,
'implode_pending'=>'',
'implode_assigned'=>'',
'implode_resolved'=>'',
)
);
}
/**
* @Route("/manage-days", name="app_manage_days")
*/
public function manage_days()
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$type_user=$user->getType();
$allid=explode(",", $user->getRolebyadmin());
$roles_client=$this->getDoctrine()->getRepository('App\Entity\Rolebyadmin')->findOneBySomeField($allid);
if($type_user == "SuperAdmin" || $type_user == "Client Admin"){
$datas = $this->getDoctrine()->getRepository('App\Entity\ExpDays')->findBy(array(),array('id'=>'desc'));
$page='home/manage_days.html.twig';
}else{
$page='security/pagenotfound.html.twig';
$datas = "";
$categorie ="";
}
return $this->render($page,
array(
// 'form'=>$form->createView(),
'client' => $client,
'datas'=>$datas,
'type_user'=>$type_user,
'roles_client'=>$roles_client,
'implode_pending'=>'',
'implode_assigned'=>'',
'implode_resolved'=>'',
)
);
}
/**
* @Route("/request-days", name="app_create_days")
*/
public function create_days(Request $request)
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$user_id=$user->getId();
$em = $this->getDoctrine()->getManager();
if ($request->getMethod() === "POST") {
if($request->request->get('table_id') !=""){
$updateRequest = $this->getDoctrine()->getRepository('App\Entity\ExpDays')
->find($request->request->get('table_id'));
$updateRequest->setDays($request->request->get('exp_days'));
$em = $this->getDoctrine()->getManager();
$em->persist($updateRequest);
$em->flush();
if($client->getLang() == 'en'){
$this->addFlash('green', 'Days update successfully..!!');
}else{
$this->addFlash('green', 'Jours mis à jour avec succès');
}
}else{
// print_r($request->request->all());die;
$addRequest = new ExpDays;
$addRequest->setDays($request->request->get('exp_days'));
$addRequest->setStatus('1');
$em = $this->getDoctrine()->getManager();
$em->persist($addRequest);
$em->flush();
if($client->getLang() == 'en'){
$this->addFlash('green', 'Days added successfully..!!');
}else{
$this->addFlash('green', 'Jours ajouté avec succès..!!');
}
}
}
return $this->redirectToRoute('app_manage_days');
}
/**
* @Route("/update-days-status/{id}/{status}", name="update_days_status")
*/
public function updatedaystatus(ExpDays $request,$status)
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$em = $this->getDoctrine()->getManager();
$request->setStatus($status);
$em->persist($request);
$em->flush();
if($status == 1){
if($client->getLang() == 'en'){
$this->addFlash('green', 'You have enable the days');
}else{
$this->addFlash('green', 'Vous avez activé les jours');
}
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'You have disable the days');
}else{
$this->addFlash('red', 'Vous avez désactivé les jours');
}
}
return $this->redirectToRoute('app_manage_days');
}
/**
* @Route("/create_category", name="app_create_category")
*/
public function create_manage_category(Request $request)
{
// $result= 'Category added successfully..!!';
$em = $this->getDoctrine()->getManager();
if ($request->getMethod() === "POST") {
$addRequest = new Categorie;
$addRequest->setName($request->request->get('name') );
$em = $this->getDoctrine()->getManager();
$em->persist($addRequest);
$em->flush();
$result= 'Category added successfully!!';
}
return $this->json($result);
}
/**
* @Route("/create_subcategory", name="app_create_subcategory")
*/
public function create_manage_subcategory(Request $request)
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$user_id=$user->getId();
$em = $this->getDoctrine()->getManager();
if ($request->getMethod() === "POST") {
$categorie = $this->getDoctrine()->getRepository(Categorie::class)->findOneBy(array('id' => $request->request->get('category')));
if($request->request->get('table_id') !=""){
$updateRequest = $this->getDoctrine()->getRepository('App\Entity\Subcategorie')
->find($request->request->get('table_id'));
$updateRequest->setCategory($categorie);
$updateRequest->setName($request->request->get('name'));
$em = $this->getDoctrine()->getManager();
$em->persist($updateRequest);
$em->flush();
if($client->getLang() == 'en'){
$this->addFlash('green', 'Subcategory update successfully..!!');
}else{
$this->addFlash('green', 'Mise à jour de la sous-catégorie avec succès..!!');
}
}else{
// print_r($request->request->all());die;
$addRequest = new Subcategorie;
$addRequest->setCategory($categorie);
$addRequest->setName($request->request->get('name'));
$addRequest->setStatus('1');
$em = $this->getDoctrine()->getManager();
$em->persist($addRequest);
$em->flush();
if($client->getLang() == 'en'){
$this->addFlash('green', 'Subcategory added successfully..!!');
}else{
$this->addFlash('green', 'Sous-catégorie ajoutée avec succès..!!');
}
}
}
return $this->redirectToRoute('app_manage_categories');
}
/**
* @Route("/update-request-category-status/{id}/{status}", name="update_category_status")
*/
public function updateRequestcategorystatus(Subcategorie $request,$status)
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$em = $this->getDoctrine()->getManager();
$request->setStatus($status);
$em->persist($request);
$em->flush();
if($status == 1){
if($client->getLang() == 'en'){
$this->addFlash('green', 'You have enable the category');
}else{
$this->addFlash('green', 'Vous avez activé la catégorie');
}
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'You have disable the category');
}else{
$this->addFlash('red', 'Vous avez désactivé la catégorie');
}
}
return $this->redirectToRoute('app_manage_categories');
}
/**
* @Route("/request-subcategory-delete/{id}", name="app_subcategory_delete")
*/
public function subcategory_delete(Subcategorie $request,$id)
{
$em = $this->getDoctrine()->getManager();
$request->getId($id);
$em->remove($request);
$em->flush();
$this->addFlash('green','Category deleted successfully..!!');
return $this->redirectToRoute('app_manage_categories');
}
/**
* @Route("/manage_agent", name="app_manage_agent")
*/
public function manage_agent()
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$type_user=$user->getType();
$allid=explode(",", $user->getRolebyadmin());
$roles_client=$this->getDoctrine()->getRepository('App\Entity\Rolebyadmin')->findOneBySomeField($allid);
$complaint="";
if($type_user=='SuperAdmin'){
$datas = $this->getDoctrine()->getRepository('App\Entity\User')->findBy(
array('type'=>'Agent'),
array('id'=>'desc'),
);
}elseif($type_user=='Client Admin'){
$datas = $this->getDoctrine()->getRepository('App\Entity\User')->findBy(
array('type'=>'Agent'),
array('id'=>'desc'),
);
}elseif($type_user=='Hypervisor'){
$datas = $this->getDoctrine()->getRepository('App\Entity\User')->findBy(
array('type'=>'Agent','city_id'=>$user->getCityId()),
array('id'=>'desc'),
);
if(!empty($datas)){
foreach($datas as $key=>$dataid){
$complaint = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findBy(
array('agentid'=>$dataid->getId(),'compstatus'=>'Resolved'),
array('id'=>'desc'),);
$result=count($complaint);
$datas[$key]->complaint_count=$result;
}
}else{
$datas ="";
}
}elseif($type_user=='Supervisor'){
$datas = $this->getDoctrine()->getRepository('App\Entity\User')->findBy(
array('type'=>'Agent','city_id'=>$user->getCityId()),
array('id'=>'desc'),
);
if(!empty($datas)){
foreach($datas as $key=>$dataid){
$complaint = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findBy(
array('agentid'=>$dataid->getId(),'compstatus'=>'Resolved'),
array('id'=>'desc'),);
$result=count($complaint);
$datas[$key]->complaint_count=$result;
}
}else{
$datas ="";
}
}elseif($type_user=='Operational Manager'){
$datas = $this->getDoctrine()->getRepository('App\Entity\User')->findBy(
array('type'=>'Agent','city_id'=>$user->getCityId()),
array('id'=>'desc'),
);
$complaint = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findBy(
array('city_id'=>$user->getCityId(),'agentid'=>'0'),
array('id'=>'desc'),);
}else{
$datas="";
}
$countrys = $this->getDoctrine()->getRepository('App\Entity\Dsccountries')->findBy(
array('code'=>'FR'),
array('name'=>'asc'),
);
$citys = $this->getDoctrine()->getRepository('App\Entity\City')->findBy(array(),
array('name'=>'asc'),
);
if($type_user=='SuperAdmin'){
$page='home/manage_agent.html.twig';
}elseif($type_user=='Client Admin'){
$page='home/manage_agent.html.twig';
}elseif($type_user=='Hypervisor'){
$page='hypervisor/manage_agent.html.twig';
}elseif($type_user=='Supervisor'){
$page='supervisor/manage_agent.html.twig';
}elseif($type_user=='Operational Manager'){
$page='operational/manage_agent.html.twig';
}else{
$page='security/pagenotfound.html.twig';
}
return $this->render($page,
array(
// 'form'=>$form->createView(),
'client' => $client,
'datas'=>$datas,
'countrys'=>$countrys,
'citys'=>$citys,
'type_user'=>$type_user,
'roles_client'=>$roles_client,
'implode_pending'=>'',
'implode_assigned'=>'',
'implode_resolved'=>'',
'complaint'=>$complaint,
)
);
}
/**
* @Route("/create_manage_agent", name="app_create_manage_agent")
*/
public function create_manage_agent(Request $request, UserPasswordEncoderInterface $passwordEncoder, \Swift_Mailer $mailer)
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$user_id=$user->getId();
$em = $this->getDoctrine()->getManager();
if ($request->getMethod() === "POST") {
$countrys = $this->getDoctrine()->getRepository('App\Entity\Dsccountries')->findOneBy(
array('id'=>$request->request->get('country')),
);
$citys = $this->getDoctrine()->getRepository('App\Entity\City')->findOneBy(
array('id'=>$request->request->get('city')),
);
if($request->request->get('table_id') !=""){
$result = $this->getDoctrine()->getRepository('App\Entity\User')->findOneBySomeField(array('value'=>$request->request->get('table_id')),array('email'=>$request->request->get('email')));
if (empty($result)) {
$ipadress=$request->getClientIp();
$updateRequest = $this->getDoctrine()->getRepository('App\Entity\User')
->find($request->request->get('table_id') );
$updateRequest->setName($request->request->get('name') );
$updateRequest->setEmail($request->request->get('email'));
$updateRequest->setMobile($request->request->get('mobile'));
$updateRequest->setAgentgroupId('0');
$updateRequest->setCountry($countrys);
$updateRequest->setCity($citys);
$updateRequest->setProvinceId('0');
$updateRequest->setIpaddress($ipadress);
$em = $this->getDoctrine()->getManager();
$em->persist($updateRequest);
$em->flush();
if($client->getLang() == 'en'){
$this->addFlash('green', 'Agent update successfully..!!');
}else{
$this->addFlash('green', "Mise à jour de l'agent avec succès..!!");
}
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'There is already an account with this email');
}else{
$this->addFlash('red', 'Il existe déjà un compte avec cette adresse e-mail');
}
}
}else{
$result = $this->getDoctrine()->getRepository('App\Entity\User')->findOneBy(array('email'=>$request->request->get('email')),array('id'=>'desc'));
if(empty($result)){
$agid= $this->getDoctrine()->getRepository('App\Entity\User')->findOneBy(array('type'=>'Agent'),array('id'=>'desc'),);
if(!empty($agid)){
$idno=explode("AG", $agid->getUserId());
$n=$idno[1];
$n2 = str_pad($n + 1, 5, 0, STR_PAD_LEFT);
}else{
$n2="00001";
}
// dd($n2);
$random_password = substr(md5(random_bytes(20)),1,25);
$newPassword ='123456';
$userid ='AG'.$n2;
$ipadress=$request->getClientIp();
$addRequest = new User;
$addRequest->setAddedBy($user_id);
$addRequest->setUserId($userid);
$addRequest->setName($request->request->get('name') );
$addRequest->setEmail($request->request->get('email'));
$addRequest->setMobile($request->request->get('mobile'));
$addRequest->setPassword($passwordEncoder->encodePassword(
$addRequest,
$newPassword
));
$addRequest->setPasswordResetToken($random_password);
$addRequest->setCountry($countrys);
$addRequest->setCity($citys);
$addRequest->setProvinceId('0');
$addRequest->setStatus('1');
$addRequest->setAgentgroupId('0');
$addRequest->setType('Agent');
$addRequest->setLang('fr');
$addRequest->setRoles(["ROLE_AGENT"]);
$addRequest->setIpaddress($ipadress);
$em = $this->getDoctrine()->getManager();
$em->persist($addRequest);
$em->flush();
$url = $this->urlGenerator->generate('reset_password', array('code'=>$random_password), UrlGeneratorInterface::ABSOLUTE_URL);
$sendTo = $request->request->get('email');
$sendCc = 'santosh.jaiswal.espl@gmail.com';
$mailArray = array(
'email' => 'infos-compte@konsoplus.com',
'emailid' => $request->request->get('email'),
'mobile' => $request->request->get('mobile'),
'name' => $request->request->get('name'),
'city' => $citys->getName(),
'url' => $url,
'password' => $random_password
);
$mail = $this->mailer->sendEmailMessage(
'Renouveler votre mot de passe',
"Konso+",
$sendTo,
$sendCc,
null,
'security/welcomemail.html.twig',
$mailArray
);
if($client->getLang() == 'en'){
$this->addFlash('green', 'Agent added successfully..!!');
}else{
$this->addFlash('green', 'Agent ajouté avec succès..!!');
}
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'There is already an account with this email');
}else{
$this->addFlash('red', 'Il existe déjà un compte avec cette adresse e-mail');
}
}
}
}
return $this->redirectToRoute('app_manage_agent');
}
/**
* @Route("/update-request-status-agent/{id}/{status}", name="update_user_status_agent")
*/
public function update_status_agent(User $request,$status)
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$em = $this->getDoctrine()->getManager();
$request->setStatus($status);
$em->persist($request);
$em->flush();
if($status == 1){
if($client->getLang() == 'en'){
$this->addFlash('green', 'You have enable the agent');
}else{
$this->addFlash('green', "Vous avez activé l'agent");
}
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'You have disable the agent');
}else{
$this->addFlash('red', "Vous avez désactivé l'agent");
}
}
return $this->redirectToRoute('app_manage_agent');
}
/**
* @Route("/request-agentuser-delete/{id}", name="app_user_delete_agent")
*/
public function user_agent_delete(User $request,$id)
{
$em = $this->getDoctrine()->getManager();
$request->getId($id);
$em->remove($request);
$em->flush();
$this->addFlash('green','Agent deleted successfully..!!');
return $this->redirectToRoute('app_manage_agent');
}
/**
* @Route("/manage_agent_group", name="app_manage_agent_group")
*/
public function manage_agent_group()
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$type_user=$user->getType();
$allid=explode(",", $user->getRolebyadmin());
$roles_client=$this->getDoctrine()->getRepository('App\Entity\Rolebyadmin')->findOneBySomeField($allid);
if($type_user=='SuperAdmin'){
$datas = $this->getDoctrine()->getRepository('App\Entity\AgentGroup')->findBy(
array(),
array('id'=>'desc'),
);
}elseif($type_user=='Client Admin'){
$datas = $this->getDoctrine()->getRepository('App\Entity\AgentGroup')->findBy(
array(),
array('id'=>'desc'),
);
}elseif($type_user=='Supervisor'){
$datas = $this->getDoctrine()->getRepository('App\Entity\AgentGroup')->findBy(
array('city_id'=>$user->getCityId()),
array('id'=>'desc'),
);
if(!empty($datas)){
foreach ($datas as $key => $value) {
$explode_agent=explode(",", $value->getAgentid());
$agents=$agt=$this->getDoctrine()->getRepository('App\Entity\User')->findAllIdField($explode_agent);
$operational=$this->getDoctrine()->getRepository('App\Entity\User')->findBy( array('agentgroup_id'=>$value->getId(),'type'=>'Operational Manager'),array('id'=>'desc'));
$datas[$key]->agent_detail=$agents;
$datas[$key]->operational_detail=$operational;
}
}else{
$datas = "";
}
}elseif($type_user=='Hypervisor'){
$datas = $this->getDoctrine()->getRepository('App\Entity\AgentGroup')->findBy(
array('city_id'=>$user->getCityId()),
array('id'=>'desc'),
);
if(!empty($datas)){
foreach ($datas as $key => $value) {
$explode_agent=explode(",", $value->getAgentid());
$agents=$agt=$this->getDoctrine()->getRepository('App\Entity\User')->findAllIdField($explode_agent);
$operational=$this->getDoctrine()->getRepository('App\Entity\User')->findBy( array('agentgroup_id'=>$value->getId(),'type'=>'Operational Manager'),array('id'=>'desc'));
$datas[$key]->agent_detail=$agents;
$datas[$key]->operational_detail=$operational;
}
}else{
$datas = "";
}
// dd($datas);
}elseif($type_user=='Operational Manager'){
$datas = $this->getDoctrine()->getRepository('App\Entity\AgentGroup')->findBy(
array('city_id'=>$user->getCityId()),
array('id'=>'desc'),
);
}else{
$datas ="";
}
if(!empty($datas)){
foreach($datas as $key=>$dataid){
if($dataid->getagentId() == null){
$datas[$key]->agentcount=0;
}else{
$res = explode(",", $dataid->getagentId());
$result=count($res);
$datas[$key]->agentcount=$result;
}
}
}else{
$datas ="";
}
$agents = $this->getDoctrine()->getRepository('App\Entity\User')->findBy(
array('type'=>'Agent','status' => true),
array('id'=>'desc'),
);
$countrys = $this->getDoctrine()->getRepository('App\Entity\Dsccountries')->findBy(
array('code'=>'FR'),
array('name'=>'asc'),
);
$citys = $this->getDoctrine()->getRepository('App\Entity\City')->findBy(array(),
array('name'=>'asc'),
);
if($type_user=='SuperAdmin'){
$page='home/agent_group.html.twig';
}elseif($type_user=='Client Admin'){
$page='home/agent_group.html.twig';
}elseif($type_user=='Supervisor'){
$page='supervisor/agent_group.html.twig';
}elseif($type_user=='Hypervisor'){
$page='hypervisor/agent_group.html.twig';
}elseif($type_user=='Operational Manager'){
$page='operational/agent_group.html.twig';
}else{
$page='security/pagenotfound.html.twig';
}
return $this->render($page,
array(
// 'form'=>$form->createView(),
'client' => $client,
'datas'=>$datas,
'agents'=>$agents,
'countrys'=>$countrys,
'citys'=>$citys,
'type_user'=>$type_user,
'roles_client'=>$roles_client,
'implode_pending'=>'',
'implode_assigned'=>'',
'implode_resolved'=>'',
)
);
}
/**
* @Route("/manage_agent_group_id/{id}", name="app_manage_agent_group_id")
*/
public function manage_agent_group_id($id)
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$type_user=$user->getType();
$allid=explode(",", $user->getRolebyadmin());
$roles_client=$this->getDoctrine()->getRepository('App\Entity\Rolebyadmin')->findOneBySomeField($allid);
if($type_user == "Operational Manager"){
$agent_grp = $this->getDoctrine()->getRepository('App\Entity\AgentGroup')->find($id);
$agid=explode(",", $agent_grp->getAgentid());
if(!empty($agid)){
$datas=array();
foreach($agid as $key => $value){
// code...
$result = $this->getDoctrine()->getRepository('App\Entity\User')->findOneBy(
array('id'=>$value,'type'=>'Agent'),
array('id'=>'desc'),
);
}
$datas[]=$result;
}else{
$datas ="";
}
$complaint = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findBy(array('city_id'=>$agent_grp->getCityId()),
array('id'=>'desc'),);
$page='operational/agent_group_detail.html.twig';
}else{
$page='security/pagenotfound.html.twig';
$datas = "";
$agent_grp ="";
$complaint ="";
}
return $this->render($page,
array(
// 'form'=>$form->createView(),
'client' => $client,
'datas'=>$datas,
'agent_grp'=>$agent_grp,
'type_user'=>$type_user,
'roles_client'=>$roles_client,
'implode_pending'=>'',
'implode_assigned'=>'',
'implode_resolved'=>'',
'complaint'=>$complaint,
)
);
}
/**
* @Route("/create_manage_agent_group", name="app_create_manage_agent_group")
*/
public function create_manage_agent_group(Request $request)
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$user_id=$user->getId();
$em = $this->getDoctrine()->getManager();
if ($request->getMethod() === "POST") {
$countrys = $this->getDoctrine()->getRepository('App\Entity\Dsccountries')->findOneBy(
array('id'=>$request->request->get('country')),
);
$citys = $this->getDoctrine()->getRepository('App\Entity\City')->findOneBy(
array('id'=>$request->request->get('city')),
);
if($request->request->get('table_id') !=""){
if(!empty($request->request->get('agentid'))){
$agid=implode(",",$request->request->get('agentid'));
}else{
$agid=null;
}
$updateRequest = $this->getDoctrine()->getRepository('App\Entity\AgentGroup')
->find($request->request->get('table_id') );
$updateRequest->setName($request->request->get('name') );
$updateRequest->setAgentid($agid);
$updateRequest->setCountry($countrys);
$updateRequest->setCity($citys);
$em = $this->getDoctrine()->getManager();
$em->persist($updateRequest);
$em->flush();
if($client->getLang() == 'en'){
$this->addFlash('green', 'Agent group update successfully..!!');
}else{
$this->addFlash('green', "Mise à jour du groupe d'agents avec succès..!!");
}
}else{
$gpid= $this->getDoctrine()->getRepository('App\Entity\AgentGroup')->findOneBy(array(),array('id'=>'desc'),);
if(!empty($gpid)){
$idno=explode("GP", $gpid->getGpid());
$n=$idno[1];
$n2 = str_pad($n + 1, 5, 0, STR_PAD_LEFT);
}else{
$n2="00001";
}
$gp='GP'.$n2;
if(!empty($request->request->get('agentid'))){
$agid=implode(",",$request->request->get('agentid'));
}else{
$agid=null;
}
$addRequest = new AgentGroup;
$addRequest->setName($request->request->get('name') );
$addRequest->setAgentid($agid);
$addRequest->setCountry($countrys);
$addRequest->setCity($citys);
$addRequest->setGpid($gp);
$addRequest->setAddedby($user_id);
$addRequest->setStatus('1');
$em = $this->getDoctrine()->getManager();
$em->persist($addRequest);
$em->flush();
if($client->getLang() == 'en'){
$this->addFlash('green', 'Agent group added successfully..!!');
}else{
$this->addFlash('green', "Groupe d'agents ajouté avec succès..!!");
}
}
}
return $this->redirectToRoute('app_manage_agent_group');
}
/**
* @Route("/update-request-status-agent-group/{id}/{status}", name="update_status_agent_group")
*/
public function update_status_agent_group(AgentGroup $request,$status)
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$em = $this->getDoctrine()->getManager();
$request->setStatus($status);
$em->persist($request);
$em->flush();
if($status == 1){
if($client->getLang() == 'en'){
$this->addFlash('green', 'You have enable the agent group');
}else{
$this->addFlash('green', "Vous avez activé le groupe d'agents");
}
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'You have disable the agent group');
}else{
$this->addFlash('red', "Vous avez désactivé le groupe d'agents");
}
}
return $this->redirectToRoute('app_manage_agent_group');
}
/**
* @Route("/request-agentgroup-delete/{id}", name="app_delete_agent_group")
*/
public function agent_group_delete(AgentGroup $request,$id)
{
$em = $this->getDoctrine()->getManager();
$request->getId($id);
$em->remove($request);
$em->flush();
$this->addFlash('green','Agent group deleted successfully..!!');
return $this->redirectToRoute('app_manage_agent_group');
}
/**
* @Route("/manage_complaints", name="app_manage_complaints")
*/
public function manage_complaints()
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$type_user=$user->getType();
$allid=explode(",", $user->getRolebyadmin());
$roles_client=$this->getDoctrine()->getRepository('App\Entity\Rolebyadmin')->findOneBySomeField($allid);
if($type_user=='SuperAdmin'){
$datas = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findBy(array(),array('id'=>'desc'));
foreach ($datas as $key => $value) {
$agentgrpname = $this->getDoctrine()->getRepository('App\Entity\AgentGroup')->findOneBy(array('id'=>$value->getGrpid()),
array('id'=>'desc'),);
$datas[$key]->agent_grp_name=$agentgrpname;
$province = $this->getDoctrine()->getRepository('App\Entity\Province')->findOneBy(
array('id'=>$value->getProvinceId()),
);
if(!empty($province)){
$datas[$key]->provinces=$province;
}else{
$datas[$key]->provinces="";
}
if($value->getFraud() == 1){
$FraudComplaint = $this->getDoctrine()->getRepository('App\Entity\FraudComplaint')->findOneBy(
array('complaint_id'=>$value->getId()),
);
if(!empty($FraudComplaint)){
$datas[$key]->fraudcomplaint=$FraudComplaint;
}else{
$datas[$key]->fraudcomplaint="";
}
$pv= $this->getDoctrine()->getRepository('App\Entity\PvDetails')->findOneBy(array('id'=>$FraudComplaint->getFine()));
if ($pv) {
$datas[$key]->fines =$pv;
} else {
$datas[$key]->fines ="";
}
$fcp= $this->getDoctrine()->getRepository('App\Entity\FraudComplaintProducts')->findBy(array('fraud_com_id'=>$FraudComplaint->getId()));
if ($fcp) {
$datas[$key]->fc_product =$fcp;
} else {
$datas[$key]->fc_product ="";
}
}
}
}elseif($type_user=='Client Admin'){
$datas = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findBy(array(),array('id'=>'desc'));
foreach ($datas as $key => $value) {
$agentgrpname = $this->getDoctrine()->getRepository('App\Entity\AgentGroup')->findOneBy(array('id'=>$value->getGrpid()),
array('id'=>'desc'),);
$datas[$key]->agent_grp_name=$agentgrpname;
$province = $this->getDoctrine()->getRepository('App\Entity\Province')->findOneBy(
array('id'=>$value->getProvinceId()),
);
if(!empty($province)){
$datas[$key]->provinces=$province;
}else{
$datas[$key]->provinces="";
}
if($value->getFraud() == 1){
$FraudComplaint = $this->getDoctrine()->getRepository('App\Entity\FraudComplaint')->findOneBy(
array('complaint_id'=>$value->getId()),
);
if(!empty($FraudComplaint)){
$datas[$key]->fraudcomplaint=$FraudComplaint;
}else{
$datas[$key]->fraudcomplaint="";
}
$pv= $this->getDoctrine()->getRepository('App\Entity\PvDetails')->findOneBy(array('id'=>$FraudComplaint->getFine()));
if ($pv) {
$datas[$key]->fines =$pv;
} else {
$datas[$key]->fines ="";
}
$fcp= $this->getDoctrine()->getRepository('App\Entity\FraudComplaintProducts')->findBy(array('fraud_com_id'=>$FraudComplaint->getId()));
if ($fcp) {
$datas[$key]->fc_product =$fcp;
} else {
$datas[$key]->fc_product ="";
}
}
}
}elseif($type_user=='Hypervisor'){
$datas = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findBy(array('city_id'=>$user->getCityId()),array('id'=>'desc'));
foreach ($datas as $key => $value) {
$agentname = $this->getDoctrine()->getRepository('App\Entity\User')->findOneBy(array('id'=>$value->getAgentid(),'type'=>'Agent'),
array('id'=>'desc'),);
$datas[$key]->agent_name=$agentname;
$province = $this->getDoctrine()->getRepository('App\Entity\Province')->findOneBy(
array('id'=>$value->getProvinceId()),
);
if(!empty($province)){
$datas[$key]->provinces=$province;
}else{
$datas[$key]->provinces="";
}
if($value->getFraud() == 1){
$FraudComplaint = $this->getDoctrine()->getRepository('App\Entity\FraudComplaint')->findOneBy(
array('complaint_id'=>$value->getId()),
);
if(!empty($FraudComplaint)){
$datas[$key]->fraudcomplaint=$FraudComplaint;
}else{
$datas[$key]->fraudcomplaint="";
}
$pv= $this->getDoctrine()->getRepository('App\Entity\PvDetails')->findOneBy(array('id'=>$FraudComplaint->getFine()));
if ($pv) {
$datas[$key]->fines =$pv;
} else {
$datas[$key]->fines ="";
}
$fcp= $this->getDoctrine()->getRepository('App\Entity\FraudComplaintProducts')->findBy(array('fraud_com_id'=>$FraudComplaint->getId()));
if ($fcp) {
$datas[$key]->fc_product =$fcp;
} else {
$datas[$key]->fc_product ="";
}
}
}
}elseif($type_user=='Supervisor'){
$datas = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findBy(array('city_id'=>$user->getCityId()),array('id'=>'desc'));
foreach ($datas as $key => $value) {
$agentname = $this->getDoctrine()->getRepository('App\Entity\User')->findOneBy(array('id'=>$value->getAgentid(),'type'=>'Agent'),
array('id'=>'desc'),);
$datas[$key]->agent_name=$agentname;
$province = $this->getDoctrine()->getRepository('App\Entity\Province')->findOneBy(
array('id'=>$value->getProvinceId()),
);
if(!empty($province)){
$datas[$key]->provinces=$province;
}else{
$datas[$key]->provinces="";
}
if($value->getFraud() == 1){
$FraudComplaint = $this->getDoctrine()->getRepository('App\Entity\FraudComplaint')->findOneBy(
array('complaint_id'=>$value->getId()),
);
if(!empty($FraudComplaint)){
$datas[$key]->fraudcomplaint=$FraudComplaint;
}else{
$datas[$key]->fraudcomplaint="";
}
$pv= $this->getDoctrine()->getRepository('App\Entity\PvDetails')->findOneBy(array('id'=>$FraudComplaint->getFine()));
if ($pv) {
$datas[$key]->fines =$pv;
} else {
$datas[$key]->fines ="";
}
$fcp= $this->getDoctrine()->getRepository('App\Entity\FraudComplaintProducts')->findBy(array('fraud_com_id'=>$FraudComplaint->getId()));
if ($fcp) {
$datas[$key]->fc_product =$fcp;
} else {
$datas[$key]->fc_product ="";
}
}
}
}elseif($type_user=='Operational Manager'){
$datas = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findBy(array('city_id'=>$user->getCityId()),array('id'=>'desc'));
foreach ($datas as $key => $value) {
$agentname = $this->getDoctrine()->getRepository('App\Entity\User')->findOneBy(array('id'=>$value->getAgentid(),'type'=>'Agent'),
array('id'=>'desc'),);
if(!empty($agentname)){
$datas[$key]->agent_name=$agentname;
}else{
$datas[$key]->agent_name="";
}
$province = $this->getDoctrine()->getRepository('App\Entity\Province')->findOneBy(
array('id'=>$value->getProvinceId()),
);
if(!empty($province)){
$datas[$key]->provinces=$province;
}else{
$datas[$key]->provinces="";
}
if($value->getFraud() == 1){
$FraudComplaint = $this->getDoctrine()->getRepository('App\Entity\FraudComplaint')->findOneBy(
array('complaint_id'=>$value->getId()),
);
if(!empty($FraudComplaint)){
$datas[$key]->fraudcomplaint=$FraudComplaint;
}else{
$datas[$key]->fraudcomplaint="";
}
$pv= $this->getDoctrine()->getRepository('App\Entity\PvDetails')->findOneBy(array('id'=>$FraudComplaint->getFine()));
if ($pv) {
$datas[$key]->fines =$pv;
} else {
$datas[$key]->fines ="";
}
$fcp= $this->getDoctrine()->getRepository('App\Entity\FraudComplaintProducts')->findBy(array('fraud_com_id'=>$FraudComplaint->getId()));
if ($fcp) {
$datas[$key]->fc_product =$fcp;
} else {
$datas[$key]->fc_product ="";
}
}
}
}
if(!empty($datas)){
foreach ($datas as $key => $value) {
// code...
$agent_grp = $this->getDoctrine()->getRepository('App\Entity\AgentGroup')->findBy(array('city_id'=>$value->getCityId(),'status' => true),
array('id'=>'desc'),);
$agents=$this->getDoctrine()->getRepository('App\Entity\User')->findBy( array('city_id'=>$value->getCityId(),'type'=>'Agent','status' => true),array('id'=>'desc'));
$operational=$this->getDoctrine()->getRepository('App\Entity\User')->findBy( array('city_id'=>$value->getCityId(),'type'=>'Operational Manager','status' => true),array('id'=>'desc'));
$datas[$key]->grp_agent_detail=$agent_grp;
$datas[$key]->agent_detail=$agents;
$datas[$key]->operational_detail=$operational;
}
}else{
$datas = "";
}
if($type_user=='SuperAdmin'){
$page='home/manage_complaint.html.twig';
}elseif($type_user=='Client Admin'){
$page='home/manage_complaint.html.twig';
}elseif($type_user=='Hypervisor'){
$page='hypervisor/manage_complaint.html.twig';
}elseif($type_user=='Supervisor'){
$page='supervisor/manage_complaint.html.twig';
}elseif($type_user=='Operational Manager'){
$page='operational/manage_complaint.html.twig';
}else{
$page='security/pagenotfound.html.twig';
}
return $this->render($page,
array(
// 'form'=>$form->createView(),
'client' => $client,
'datas'=>$datas,
'type_user'=>$type_user,
'roles_client'=>$roles_client,
'implode_pending'=>'',
'implode_assigned'=>'',
'implode_resolved'=>'',
)
);
}
/**
* @Route("/manage_pending complaints", name="app_manage_pending_complaints")
*/
public function manage_pending_complaints()
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$type_user=$user->getType();
$allid=explode(",", $user->getRolebyadmin());
$roles_client=$this->getDoctrine()->getRepository('App\Entity\Rolebyadmin')->findOneBySomeField($allid);
if($type_user=='SuperAdmin'){
$datas = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findBy(array('compstatus'=>'Pending'),array('id'=>'desc'));
foreach ($datas as $key => $value) {
$agentgrpname = $this->getDoctrine()->getRepository('App\Entity\AgentGroup')->findOneBy(array('id'=>$value->getGrpid()),
array('id'=>'desc'),);
$datas[$key]->agent_grp_name=$agentgrpname;
$province = $this->getDoctrine()->getRepository('App\Entity\Province')->findOneBy(
array('id'=>$value->getProvinceId()),
);
if(!empty($province)){
$datas[$key]->provinces=$province;
}else{
$datas[$key]->provinces="";
}
if($value->getFraud() == 1){
$FraudComplaint = $this->getDoctrine()->getRepository('App\Entity\FraudComplaint')->findOneBy(
array('complaint_id'=>$value->getId()),
);
if(!empty($FraudComplaint)){
$datas[$key]->fraudcomplaint=$FraudComplaint;
}else{
$datas[$key]->fraudcomplaint="";
}
$pv= $this->getDoctrine()->getRepository('App\Entity\PvDetails')->findOneBy(array('id'=>$FraudComplaint->getFine()));
if ($pv) {
$datas[$key]->fines =$pv;
} else {
$datas[$key]->fines ="";
}
$fcp= $this->getDoctrine()->getRepository('App\Entity\FraudComplaintProducts')->findBy(array('fraud_com_id'=>$FraudComplaint->getId()));
if ($fcp) {
$datas[$key]->fc_product =$fcp;
} else {
$datas[$key]->fc_product ="";
}
}
}
}elseif($type_user=='Client Admin'){
$datas = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findBy(array('compstatus'=>'Pending'),array('id'=>'desc'));
foreach ($datas as $key => $value) {
$agentgrpname = $this->getDoctrine()->getRepository('App\Entity\AgentGroup')->findOneBy(array('id'=>$value->getGrpid()),
array('id'=>'desc'),);
$datas[$key]->agent_grp_name=$agentgrpname;
$province = $this->getDoctrine()->getRepository('App\Entity\Province')->findOneBy(
array('id'=>$value->getProvinceId()),
);
if(!empty($province)){
$datas[$key]->provinces=$province;
}else{
$datas[$key]->provinces="";
}
if($value->getFraud() == 1){
$FraudComplaint = $this->getDoctrine()->getRepository('App\Entity\FraudComplaint')->findOneBy(
array('complaint_id'=>$value->getId()),
);
if(!empty($FraudComplaint)){
$datas[$key]->fraudcomplaint=$FraudComplaint;
}else{
$datas[$key]->fraudcomplaint="";
}
$pv= $this->getDoctrine()->getRepository('App\Entity\PvDetails')->findOneBy(array('id'=>$FraudComplaint->getFine()));
if ($pv) {
$datas[$key]->fines =$pv;
} else {
$datas[$key]->fines ="";
}
$fcp= $this->getDoctrine()->getRepository('App\Entity\FraudComplaintProducts')->findBy(array('fraud_com_id'=>$FraudComplaint->getId()));
if ($fcp) {
$datas[$key]->fc_product =$fcp;
} else {
$datas[$key]->fc_product ="";
}
}
}
}elseif($type_user=='Hypervisor'){
$datas = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findBy(array('compstatus'=>'Pending','city_id'=>$user->getCityId()),array('id'=>'desc'));
foreach ($datas as $key => $value) {
$agentname = $this->getDoctrine()->getRepository('App\Entity\User')->findOneBy(array('id'=>$value->getAgentid(),'type'=>'Agent'),
array('id'=>'desc'),);
$datas[$key]->agent_name=$agentname;
$province = $this->getDoctrine()->getRepository('App\Entity\Province')->findOneBy(
array('id'=>$value->getProvinceId()),
);
if(!empty($province)){
$datas[$key]->provinces=$province;
}else{
$datas[$key]->provinces="";
}
if($value->getFraud() == 1){
$FraudComplaint = $this->getDoctrine()->getRepository('App\Entity\FraudComplaint')->findOneBy(
array('complaint_id'=>$value->getId()),
);
if(!empty($FraudComplaint)){
$datas[$key]->fraudcomplaint=$FraudComplaint;
}else{
$datas[$key]->fraudcomplaint="";
}
$pv= $this->getDoctrine()->getRepository('App\Entity\PvDetails')->findOneBy(array('id'=>$FraudComplaint->getFine()));
if ($pv) {
$datas[$key]->fines =$pv;
} else {
$datas[$key]->fines ="";
}
$fcp= $this->getDoctrine()->getRepository('App\Entity\FraudComplaintProducts')->findBy(array('fraud_com_id'=>$FraudComplaint->getId()));
if ($fcp) {
$datas[$key]->fc_product =$fcp;
} else {
$datas[$key]->fc_product ="";
}
}
}
}elseif($type_user=='Supervisor'){
$datas = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findBy(array('compstatus'=>'Pending','city_id'=>$user->getCityId()),array('id'=>'desc'));
foreach ($datas as $key => $value) {
$agentname = $this->getDoctrine()->getRepository('App\Entity\User')->findOneBy(array('id'=>$value->getAgentid(),'type'=>'Agent'),
array('id'=>'desc'),);
$datas[$key]->agent_name=$agentname;
$province = $this->getDoctrine()->getRepository('App\Entity\Province')->findOneBy(
array('id'=>$value->getProvinceId()),
);
if(!empty($province)){
$datas[$key]->provinces=$province;
}else{
$datas[$key]->provinces="";
}
if($value->getFraud() == 1){
$FraudComplaint = $this->getDoctrine()->getRepository('App\Entity\FraudComplaint')->findOneBy(
array('complaint_id'=>$value->getId()),
);
if(!empty($FraudComplaint)){
$datas[$key]->fraudcomplaint=$FraudComplaint;
}else{
$datas[$key]->fraudcomplaint="";
}
$pv= $this->getDoctrine()->getRepository('App\Entity\PvDetails')->findOneBy(array('id'=>$FraudComplaint->getFine()));
if ($pv) {
$datas[$key]->fines =$pv;
} else {
$datas[$key]->fines ="";
}
$fcp= $this->getDoctrine()->getRepository('App\Entity\FraudComplaintProducts')->findBy(array('fraud_com_id'=>$FraudComplaint->getId()));
if ($fcp) {
$datas[$key]->fc_product =$fcp;
} else {
$datas[$key]->fc_product ="";
}
}
}
}elseif($type_user=='Operational Manager'){
$datas = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findBy(array('compstatus'=>'Pending','city_id'=>$user->getCityId()),array('id'=>'desc'));
foreach ($datas as $key => $value) {
$agentname = $this->getDoctrine()->getRepository('App\Entity\User')->findOneBy(array('id'=>$value->getAgentid(),'type'=>'Agent'),
array('id'=>'desc'),);
if(!empty($agentname)){
$datas[$key]->agent_name=$agentname;
}else{
$datas[$key]->agent_name="";
}
$province = $this->getDoctrine()->getRepository('App\Entity\Province')->findOneBy(
array('id'=>$value->getProvinceId()),
);
if(!empty($province)){
$datas[$key]->provinces=$province;
}else{
$datas[$key]->provinces="";
}
if($value->getFraud() == 1){
$FraudComplaint = $this->getDoctrine()->getRepository('App\Entity\FraudComplaint')->findOneBy(
array('complaint_id'=>$value->getId()),
);
if(!empty($FraudComplaint)){
$datas[$key]->fraudcomplaint=$FraudComplaint;
}else{
$datas[$key]->fraudcomplaint="";
}
$pv= $this->getDoctrine()->getRepository('App\Entity\PvDetails')->findOneBy(array('id'=>$FraudComplaint->getFine()));
if ($pv) {
$datas[$key]->fines =$pv;
} else {
$datas[$key]->fines ="";
}
$fcp= $this->getDoctrine()->getRepository('App\Entity\FraudComplaintProducts')->findBy(array('fraud_com_id'=>$FraudComplaint->getId()));
if ($fcp) {
$datas[$key]->fc_product =$fcp;
} else {
$datas[$key]->fc_product ="";
}
}
}
}
if(!empty($datas)){
foreach ($datas as $key => $value) {
// code...
$agent_grp = $this->getDoctrine()->getRepository('App\Entity\AgentGroup')->findBy(array('city_id'=>$value->getCityId(),'status' => true),
array('id'=>'desc'),);
$agents=$this->getDoctrine()->getRepository('App\Entity\User')->findBy( array('city_id'=>$value->getCityId(),'type'=>'Agent','status' => true),array('id'=>'desc'));
$operational=$this->getDoctrine()->getRepository('App\Entity\User')->findBy( array('city_id'=>$value->getCityId(),'type'=>'Operational Manager','status' => true),array('id'=>'desc'));
$datas[$key]->grp_agent_detail=$agent_grp;
$datas[$key]->agent_detail=$agents;
$datas[$key]->operational_detail=$operational;
}
}else{
$datas = "";
}
if($type_user=='SuperAdmin'){
$page='home/manage_pending_complaint.html.twig';
}elseif($type_user=='Client Admin'){
$page='home/manage_pending_complaint.html.twig';
}elseif($type_user=='Hypervisor'){
$page='home/manage_pending_complaint.html.twig';
}elseif($type_user=='Supervisor'){
$page='supervisor/manage_pending_complaint.html.twig';
}elseif($type_user=='Operational Manager'){
$page='operational/manage_pending_complaint.html.twig';
}else{
$page='security/pagenotfound.html.twig';
}
return $this->render($page,
array(
// 'form'=>$form->createView(),
'client' => $client,
'datas'=>$datas,
'type_user'=>$type_user,
'roles_client'=>$roles_client,
'implode_pending'=>'',
'implode_assigned'=>'',
'implode_resolved'=>'',
)
);
}
/**
* @Route("/complaint_list/{type}/{id}", name="app_complaint_list")
*/
public function complaint_list($type,$id)
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$type_user=$user->getType();
$allid=explode(",", $user->getRolebyadmin());
$roles_client=$this->getDoctrine()->getRepository('App\Entity\Rolebyadmin')->findOneBySomeField($allid);
if($type== 1){
$agentid=$id;
$detail=$this->getDoctrine()->getRepository('App\Entity\User')->findOneBy(array('id'=>$id,'type'=>"Agent",'status'=>true));
$grpid=0;
$operational_id=0;
if(!empty($detail)){
if($type_user=='SuperAdmin' || $type_user=='Client Admin'){
$datas = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findBy(array('city_id'=>$detail->getCityId(),'agentid'=>0,'show_status'=>1),array('id'=>'desc'));
foreach ($datas as $key => $value) {
$agentgrpname = $this->getDoctrine()->getRepository('App\Entity\AgentGroup')->findOneBy(array('id'=>$value->getGrpid()),
array('id'=>'desc'),);
$datas[$key]->agent_grp_name=$agentgrpname;
$province = $this->getDoctrine()->getRepository('App\Entity\Province')->findOneBy(
array('id'=>$value->getProvinceId()),
);
if(!empty($province)){
$datas[$key]->provinces=$province;
}else{
$datas[$key]->provinces="";
}
if($value->getFraud() == 1){
$FraudComplaint = $this->getDoctrine()->getRepository('App\Entity\FraudComplaint')->findOneBy(
array('complaint_id'=>$value->getId()),
);
if(!empty($FraudComplaint)){
$datas[$key]->fraudcomplaint=$FraudComplaint;
}else{
$datas[$key]->fraudcomplaint="";
}
$pv= $this->getDoctrine()->getRepository('App\Entity\PvDetails')->findOneBy(array('id'=>$FraudComplaint->getFine()));
if ($pv) {
$datas[$key]->fines =$pv;
} else {
$datas[$key]->fines ="";
}
$fcp= $this->getDoctrine()->getRepository('App\Entity\FraudComplaintProducts')->findBy(array('fraud_com_id'=>$FraudComplaint->getId()));
if ($fcp) {
$datas[$key]->fc_product =$fcp;
} else {
$datas[$key]->fc_product ="";
}
}
}
}else{
$datas="";
}
}else{
return $this->redirectToRoute('app_manage_oprational_manager');
}
}elseif($type== 2){
$agentid=0;
$grpid=$id;
$detail = $this->getDoctrine()->getRepository('App\Entity\AgentGroup')->findOneBy(array('id'=>$id,'status'=>true));
$operational_id=0;
if(!empty($detail)){
if($type_user=='SuperAdmin' || $type_user=='Client Admin'){
$datas = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findBy(array('city_id'=>$detail->getCityId(),'grpid'=>0,'show_status'=>1),array('id'=>'desc'));
foreach ($datas as $key => $value) {
$agentgrpname = $this->getDoctrine()->getRepository('App\Entity\AgentGroup')->findOneBy(array('id'=>$value->getGrpid()),
array('id'=>'desc'),);
$datas[$key]->agent_grp_name=$agentgrpname;
$province = $this->getDoctrine()->getRepository('App\Entity\Province')->findOneBy(
array('id'=>$value->getProvinceId()),
);
if(!empty($province)){
$datas[$key]->provinces=$province;
}else{
$datas[$key]->provinces="";
}
if($value->getFraud() == 1){
$FraudComplaint = $this->getDoctrine()->getRepository('App\Entity\FraudComplaint')->findOneBy(
array('complaint_id'=>$value->getId()),
);
if(!empty($FraudComplaint)){
$datas[$key]->fraudcomplaint=$FraudComplaint;
}else{
$datas[$key]->fraudcomplaint="";
}
$pv= $this->getDoctrine()->getRepository('App\Entity\PvDetails')->findOneBy(array('id'=>$FraudComplaint->getFine()));
if ($pv) {
$datas[$key]->fines =$pv;
} else {
$datas[$key]->fines ="";
}
$fcp= $this->getDoctrine()->getRepository('App\Entity\FraudComplaintProducts')->findBy(array('fraud_com_id'=>$FraudComplaint->getId()));
if ($fcp) {
$datas[$key]->fc_product =$fcp;
} else {
$datas[$key]->fc_product ="";
}
}
}
}else{
$datas="";
}
}else{
return $this->redirectToRoute('app_manage_oprational_manager');
}
}elseif($type== 3){
$agentid=0;
$grpid=0;
$detail=$this->getDoctrine()->getRepository('App\Entity\User')->findOneBy(array('id'=>$id,'type'=>"Operational Manager",'status'=>true));
$operational_id=$id;
if(!empty($detail)){
if($type_user=='SuperAdmin' || $type_user=='Client Admin'){
$datas = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findBy(array('city_id'=>$detail->getCityId(),'operational_id'=>0,'show_status'=>1),array('id'=>'desc'));
foreach ($datas as $key => $value) {
$agentgrpname = $this->getDoctrine()->getRepository('App\Entity\AgentGroup')->findOneBy(array('id'=>$value->getGrpid()),
array('id'=>'desc'),);
$datas[$key]->agent_grp_name=$agentgrpname;
$province = $this->getDoctrine()->getRepository('App\Entity\Province')->findOneBy(
array('id'=>$value->getProvinceId()),
);
if(!empty($province)){
$datas[$key]->provinces=$province;
}else{
$datas[$key]->provinces="";
}
if($value->getFraud() == 1){
$FraudComplaint = $this->getDoctrine()->getRepository('App\Entity\FraudComplaint')->findOneBy(
array('complaint_id'=>$value->getId()),
);
if(!empty($FraudComplaint)){
$datas[$key]->fraudcomplaint=$FraudComplaint;
}else{
$datas[$key]->fraudcomplaint="";
}
$pv= $this->getDoctrine()->getRepository('App\Entity\PvDetails')->findOneBy(array('id'=>$FraudComplaint->getFine()));
if ($pv) {
$datas[$key]->fines =$pv;
} else {
$datas[$key]->fines ="";
}
$fcp= $this->getDoctrine()->getRepository('App\Entity\FraudComplaintProducts')->findBy(array('fraud_com_id'=>$FraudComplaint->getId()));
if ($fcp) {
$datas[$key]->fc_product =$fcp;
} else {
$datas[$key]->fc_product ="";
}
}
}
}else{
$datas="";
}
}else{
return $this->redirectToRoute('app_manage_oprational_manager');
}
}else{
$agentid=0;
$detail="";
$grpid=0;
$operational_id=0;
$datas="";
}
if($type_user=='SuperAdmin'){
$page='home/complaint_list.html.twig';
}elseif($type_user=='Client Admin'){
$page='home/complaint_list.html.twig';
}else{
$page='security/pagenotfound.html.twig';
}
return $this->render($page,
array(
// 'form'=>$form->createView(),
'client' => $client,
'datas'=>$datas,
'type_user'=>$type_user,
'roles_client'=>$roles_client,
'agentid'=>$agentid,
'grpid'=>$grpid,
'operational_id'=>$operational_id,
'type'=>$type,
'id'=>$id,
)
);
}
/**
* @Route("/assing_complaint_user_grp", name="app_assing_complaint_user_grp")
*/
public function manage_assing_complaint_user_grp(Request $request)
{
// dd($request->request->all());
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$user_id=$user->getId();
$em = $this->getDoctrine()->getManager();
if ($request->getMethod() === "POST") {
if($request->request->get('grpid') !=0){
// code...
$complaint_ids=$request->request->get('table_id');
if(is_array($complaint_ids) == true){
foreach($complaint_ids as $key =>$complaint_id ){
$compstatus="Assign to agent group";
$updateRequest = $this->getDoctrine()->getRepository('App\Entity\Complaint')
->find($complaint_id );
$updateRequest->setGrpid($request->request->get('grpid'));
$updateRequest->setCompstatus($compstatus);
$updateRequest->setAssignDate(date( "Y-m-d", strtotime(date('Y-m-d'))));
$updateRequest->setStatus('1');
$em = $this->getDoctrine()->getManager();
$em->persist($updateRequest);
$em->flush();
}
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'Please select at least one complaint ..!!');
}else{
$this->addFlash('red', 'Veuillez sélectionner au moins une plainte ..!!');
}
return $this->redirectToRoute('app_manage_agent_group');
}
if($client->getLang() == 'en'){
$this->addFlash('green', 'Complaint assign successfully..!!');
}else{
$this->addFlash('green', 'Plainte assignée avec succès..!!');
}
return $this->redirectToRoute('app_manage_agent_group');
}elseif($request->request->get('agentid') !=0){
// code...
$complaint_ids=$request->request->get('table_id');
if(is_array($complaint_ids) == true){
foreach($complaint_ids as $key =>$complaint_id ){
$compstatus="Assign to agent";
$updateRequest = $this->getDoctrine()->getRepository('App\Entity\Complaint')
->find($complaint_id);
$updateRequest->setAgentid($request->request->get('agentid'));
$updateRequest->setCompstatus($compstatus);
$updateRequest->setAssignDate(date( "Y-m-d", strtotime(date('Y-m-d'))));
$updateRequest->setStatus('1');
$em = $this->getDoctrine()->getManager();
$em->persist($updateRequest);
$em->flush();
}
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'Please select at least one complaint ..!!');
}else{
$this->addFlash('red', 'Veuillez sélectionner au moins une plainte ..!!');
}
return $this->redirectToRoute('app_manage_agent');
}
if($client->getLang() == 'en'){
$this->addFlash('green', 'Complaint assign successfully..!!');
}else{
$this->addFlash('green', 'Plainte assignée avec succès..!!');
}
return $this->redirectToRoute('app_manage_agent');
}elseif($request->request->get('operational_id') !=0){
// code...
$complaint_ids=$request->request->get('table_id');
if(is_array($complaint_ids) == true){
foreach($complaint_ids as $key =>$complaint_id ){
$compstatus="Assign to operational manager";
$updateRequest = $this->getDoctrine()->getRepository('App\Entity\Complaint')
->find($complaint_id);
$updateRequest->setOperationalId($request->request->get('operational_id'));
$updateRequest->setCompstatus($compstatus);
$updateRequest->setAssignDate(date( "Y-m-d", strtotime(date('Y-m-d'))));
$updateRequest->setStatus('1');
$em = $this->getDoctrine()->getManager();
$em->persist($updateRequest);
$em->flush();
}
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'Please select at least one complaint ..!!');
}else{
$this->addFlash('red', 'Veuillez sélectionner au moins une plainte ..!!');
}
return $this->redirectToRoute('app_manage_oprational_manager');
}
if($client->getLang() == 'en'){
$this->addFlash('green', 'Complaint assign successfully..!!');
}else{
$this->addFlash('green', 'Plainte assignée avec succès..!!');
}
return $this->redirectToRoute('app_manage_oprational_manager');
}
}
return $this->redirectToRoute('app_manage_complaints');
}
/**
* @Route("/previous_complaint", name="app_previous_complaint")
*/
public function manage_previous_complaint(Request $request)
{
$input=$request->request->all();
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$type_user=$user->getType();
$allid=explode(",", $user->getRolebyadmin());
$roles_client=$this->getDoctrine()->getRepository('App\Entity\Rolebyadmin')->findOneBySomeField($allid);
if($type_user=='Operational Manager'){
$page='operational/manage_previous_complaint.html.twig';
if(!empty($input)){
$dates=$request->request->get('reportrange_field');
$date=explode (" - ", $dates);
// dd($dates);
if($dates !=""){
$datas = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findDateRange($date[0],$date[1],$user->getCityId());
foreach ($datas as $key => $value) {
$agentname = $this->getDoctrine()->getRepository('App\Entity\User')->findOneBy(array('id'=>$value->getAgentid(),'type'=>'Agent'),
array('id'=>'desc'),);
$datas[$key]->agent_name=$agentname;
if($value->getFraud() == 1){
$FraudComplaint = $this->getDoctrine()->getRepository('App\Entity\FraudComplaint')->findOneBy(
array('complaint_id'=>$value->getId()),
);
if(!empty($FraudComplaint)){
$datas[$key]->fraudcomplaint=$FraudComplaint;
}else{
$datas[$key]->fraudcomplaint="";
}
$pv= $this->getDoctrine()->getRepository('App\Entity\PvDetails')->findOneBy(array('id'=>$FraudComplaint->getFine()));
if ($pv) {
$datas[$key]->fines =$pv;
} else {
$datas[$key]->fines ="";
}
$fcp= $this->getDoctrine()->getRepository('App\Entity\FraudComplaintProducts')->findBy(array('fraud_com_id'=>$FraudComplaint->getId()));
if ($fcp) {
$datas[$key]->fc_product =$fcp;
} else {
$datas[$key]->fc_product ="";
}
}
}
}else{
$datas ="";
}
}else{
$datas = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findBy(array('compstatus'=>'Resolved','city_id'=>$user->getCityId()),array('id'=>'desc'));
foreach ($datas as $key => $value) {
$agentname = $this->getDoctrine()->getRepository('App\Entity\User')->findOneBy(array('id'=>$value->getAgentid(),'type'=>'Agent'),
array('id'=>'desc'),);
$datas[$key]->agent_name=$agentname;
if($value->getFraud() == 1){
$FraudComplaint = $this->getDoctrine()->getRepository('App\Entity\FraudComplaint')->findOneBy(
array('complaint_id'=>$value->getId()),
);
if(!empty($FraudComplaint)){
$datas[$key]->fraudcomplaint=$FraudComplaint;
}else{
$datas[$key]->fraudcomplaint="";
}
$pv= $this->getDoctrine()->getRepository('App\Entity\PvDetails')->findOneBy(array('id'=>$FraudComplaint->getFine()));
if ($pv) {
$datas[$key]->fines =$pv;
} else {
$datas[$key]->fines ="";
}
$fcp= $this->getDoctrine()->getRepository('App\Entity\FraudComplaintProducts')->findBy(array('fraud_com_id'=>$FraudComplaint->getId()));
if ($fcp) {
$datas[$key]->fc_product =$fcp;
} else {
$datas[$key]->fc_product ="";
}
}
}
}
}else{
$datas="";
$page='security/pagenotfound.html.twig';
}
return $this->render($page,
array(
// 'form'=>$form->createView(),
'client' => $client,
'datas'=>$datas,
'type_user'=>$type_user,
'roles_client'=>$roles_client,
'implode_pending'=>'',
'implode_assigned'=>'',
'implode_resolved'=>'',
)
);
}
/**
* @Route("/assing_complaint", name="app_assing_complaint")
*/
public function manage_assing_complaint(Request $request)
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$user_id=$user->getId();
$em = $this->getDoctrine()->getManager();
if ($request->getMethod() === "POST") {
if(!empty($request->request->get('grpid'))){
// code...
$compstatus="Assign to agent group";
$updateRequest = $this->getDoctrine()->getRepository('App\Entity\Complaint')
->find($request->request->get('table_id') );
$updateRequest->setGrpid($request->request->get('grpid'));
$updateRequest->setCompstatus($compstatus);
$updateRequest->setAssignDate(date( "Y-m-d", strtotime(date('Y-m-d'))));
$updateRequest->setStatus('1');
$em = $this->getDoctrine()->getManager();
$em->persist($updateRequest);
$em->flush();
if($client->getLang() == 'en'){
$this->addFlash('green', 'Complaint assign successfully..!!');
}else{
$this->addFlash('green', 'Plainte assignée avec succès..!!');
}
}elseif(!empty($request->request->get('agentid'))){
// code...
$compstatus="Assign to agent";
$updateRequest = $this->getDoctrine()->getRepository('App\Entity\Complaint')
->find($request->request->get('table_id') );
$updateRequest->setAgentid($request->request->get('agentid'));
$updateRequest->setCompstatus($compstatus);
$updateRequest->setAssignDate(date( "Y-m-d", strtotime(date('Y-m-d'))));
$updateRequest->setStatus('1');
$em = $this->getDoctrine()->getManager();
$em->persist($updateRequest);
$em->flush();
if($client->getLang() == 'en'){
$this->addFlash('green', 'Complaint assign successfully..!!');
}else{
$this->addFlash('green', 'Plainte assignée avec succès..!!');
}
}elseif(!empty($request->request->get('operational_id'))){
// code...
$compstatus="Assign to operational manager";
$updateRequest = $this->getDoctrine()->getRepository('App\Entity\Complaint')
->find($request->request->get('table_id') );
$updateRequest->setOperationalId($request->request->get('operational_id'));
$updateRequest->setCompstatus($compstatus);
$updateRequest->setAssignDate(date( "Y-m-d", strtotime(date('Y-m-d'))));
$updateRequest->setStatus('1');
$em = $this->getDoctrine()->getManager();
$em->persist($updateRequest);
$em->flush();
if($client->getLang() == 'en'){
$this->addFlash('green', 'Complaint assign successfully..!!');
}else{
$this->addFlash('green', 'Plainte assignée avec succès..!!');
}
}
}
return $this->redirectToRoute('app_manage_complaints');
}
/**
* @Route("/assing_complaint_agent", name="app_assing_complaint_agent")
*/
public function manage_assing_complaint_agent(Request $request)
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$user_id=$user->getId();
$em = $this->getDoctrine()->getManager();
if ($request->getMethod() === "POST") {
$complaint_ids=$request->request->get('complaint_id');
foreach($complaint_ids as $key =>$complaint_id ){
$compstatus="Assign to agent";
$ipadress=$request->getClientIp();
$updateRequest = $this->getDoctrine()->getRepository('App\Entity\Complaint')
->find($complaint_id);
$updateRequest->setAgentid($request->request->get('agentid') );
$updateRequest->setCompstatus($compstatus);
$updateRequest->setAssignDate(date( "Y-m-d", strtotime(date('Y-m-d'))));
$updateRequest->setStatus('1');
$em = $this->getDoctrine()->getManager();
$em->persist($updateRequest);
$em->flush();
}
if($client->getLang() == 'en'){
$this->addFlash('green', 'Complaint assign successfully..!!');
}else{
$this->addFlash('green', 'Plainte assignée avec succès..!!');
}
}
return $this->redirectToRoute('app_manage_agent');
}
/**
* @Route("/update-request-status-complaint/{id}/{status}", name="update_status_complaint")
*/
public function update_status_complaint(Complaint $request,$status)
{
$em = $this->getDoctrine()->getManager();
$request->setStatus($status);
$em->persist($request);
$em->flush();
if($status == 1){
$this->addFlash('green', 'You have enable the complaint');
}else{
$this->addFlash('red', 'You have disable the complaint');
}
return $this->redirectToRoute('app_manage_complaints');
}
/**
* @Route("/manage_oprational_manager", name="app_manage_oprational_manager")
*/
public function manage_oprational_manager()
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$type_user=$user->getType();
$allid=explode(",", $user->getRolebyadmin());
$roles_client=$this->getDoctrine()->getRepository('App\Entity\Rolebyadmin')->findOneBySomeField($allid);
if($type_user=='SuperAdmin'){
$datas = $this->getDoctrine()->getRepository('App\Entity\User')->findBy(
array('type'=>'Operational Manager'),
array('id'=>'desc'),
);
}elseif($type_user=='Client Admin'){
$datas = $this->getDoctrine()->getRepository('App\Entity\User')->findBy(
array('type'=>'Operational Manager'),
array('id'=>'desc'),
);
}elseif($type_user=='Hypervisor'){
$datas = $this->getDoctrine()->getRepository('App\Entity\User')->findBy(
array('city_id'=>$user->getCityId(),'type'=>'Operational Manager'),
array('id'=>'desc'),
);
if(!empty($datas)){
foreach ($datas as $key => $value) {
$agent_grp=$this->getDoctrine()->getRepository('App\Entity\AgentGroup')->findOneBy( array('id'=>$value->getAgentgroupId()),array('id'=>'desc'));
$explode_agent=explode(",", $agent_grp->getAgentid());
$agents=$agt=$this->getDoctrine()->getRepository('App\Entity\User')->findAllIdField($explode_agent);
$datas[$key]->agent_detail=$agents;
}
}else{
$datas = "";
}
}elseif($type_user=='Supervisor'){
$datas = $this->getDoctrine()->getRepository('App\Entity\User')->findBy(
array('city_id'=>$user->getCityId(),'type'=>'Operational Manager'),
array('id'=>'desc'),
);
if(!empty($datas)){
foreach ($datas as $key => $value) {
$agent_grp=$this->getDoctrine()->getRepository('App\Entity\AgentGroup')->findOneBy( array('id'=>$value->getAgentgroupId()),array('id'=>'desc'));
if(!empty($agent_grp)){
$explode_agent=explode(",", $agent_grp->getAgentid());
}else{
$explode_agent="";
}
$agents=$agt=$this->getDoctrine()->getRepository('App\Entity\User')->findAllIdField($explode_agent);
$datas[$key]->agent_detail=$agents;
}
}else{
$datas = "";
}
}else{
$datas = "";
}
$countrys = $this->getDoctrine()->getRepository('App\Entity\Dsccountries')->findBy(
array('code'=>'FR'),
array('name'=>'asc'),
);
$citys = $this->getDoctrine()->getRepository('App\Entity\City')->findBy(array(),
array('name'=>'asc'),
);
$agentgroups = $this->getDoctrine()->getRepository('App\Entity\AgentGroup')->findBy(array('status' => true),array('id'=>'desc'));
if($type_user=='SuperAdmin'){
$page='home/manage_oprational_manager.html.twig';
}elseif($type_user=='Client Admin'){
$page='home/manage_oprational_manager.html.twig';
}elseif($type_user=='Hypervisor'){
$page='hypervisor/manage_oprational_manager.html.twig';
}elseif($type_user=='Supervisor'){
$page='supervisor/manage_oprational_manager.html.twig';
}else{
$page='security/pagenotfound.html.twig';
}
return $this->render($page,
array(
// 'form'=>$form->createView(),
'client' => $client,
'datas'=>$datas,
'countrys'=>$countrys,
'citys'=>$citys,
'agentgroups'=>$agentgroups,
'type_user'=>$type_user,
'roles_client'=>$roles_client,
'implode_pending'=>'',
'implode_assigned'=>'',
'implode_resolved'=>'',
)
);
}
/**
* @Route("/create_manage_oprational_manager", name="app_create_manage_oprational_manager")
*/
public function create_manage_oprational_manager(Request $request, UserPasswordEncoderInterface $passwordEncoder, \Swift_Mailer $mailer)
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$user_id=$user->getId();
$em = $this->getDoctrine()->getManager();
if ($request->getMethod() === "POST") {
$countrys = $this->getDoctrine()->getRepository('App\Entity\Dsccountries')->findOneBy(
array('id'=>$request->request->get('country')),
);
$citys = $this->getDoctrine()->getRepository('App\Entity\City')->findOneBy(
array('id'=>$request->request->get('city')),
);
if($request->request->get('table_id') !=""){
$result = $this->getDoctrine()->getRepository('App\Entity\User')->findOneBySomeField(array('value'=>$request->request->get('table_id')),array('email'=>$request->request->get('email')));
if (empty($result)) {
$ipadress=$request->getClientIp();
$updateRequest = $this->getDoctrine()->getRepository('App\Entity\User')
->find($request->request->get('table_id') );
$updateRequest->setName($request->request->get('name') );
$updateRequest->setEmail($request->request->get('email'));
$updateRequest->setMobile($request->request->get('mobile'));
$updateRequest->setAgentgroupId($request->request->get('agentgroup_id'));
$updateRequest->setCountry($countrys);
$updateRequest->setCity($citys);
$updateRequest->setProvinceId('0');
$updateRequest->setLang('fr');
$updateRequest->setIpaddress($ipadress);
$em = $this->getDoctrine()->getManager();
$em->persist($updateRequest);
$em->flush();
if($client->getLang() == 'en'){
$this->addFlash('green', 'Operational manager update successfully..!!');
}else{
$this->addFlash('green', 'Mise à jour réussie du gestionnaire opérationnel..!!');
}
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'There is already an account with this email');
}else{
$this->addFlash('red', 'Il existe déjà un compte avec cette adresse e-mail');
}
}
}else{
$result = $this->getDoctrine()->getRepository('App\Entity\User')->findOneBy(array('email'=>$request->request->get('email')),array('id'=>'desc'));
if (empty($result)) {
$omid= $this->getDoctrine()->getRepository('App\Entity\User')->findOneBy(array('type'=>'Operational Manager'),array('id'=>'desc'),);
if(!empty($omid)){
$idno=explode("OM", $omid->getUserId());
$n=$idno[1];
$n2 = str_pad($n + 1, 5, 0, STR_PAD_LEFT);
}else{
$n2="00001";
}
$random_password = substr(md5(random_bytes(20)),1,25);
$newPassword ='123456';
$userid ='OM'.$n2;
$ipadress=$request->getClientIp();
$addRequest = new User;
$addRequest->setAddedBy($user_id);
$addRequest->setUserId($userid);
$addRequest->setName($request->request->get('name') );
$addRequest->setEmail($request->request->get('email'));
$addRequest->setLang('fr');
$addRequest->setMobile($request->request->get('mobile'));
$addRequest->setProvinceId('0');
$addRequest->setAgentgroupId($request->request->get('agentgroup_id'));
$addRequest->setPassword($passwordEncoder->encodePassword(
$addRequest,
$newPassword
));
$addRequest->setPasswordResetToken($random_password);
$addRequest->setCountry($countrys);
$addRequest->setCity($citys);
$addRequest->setStatus('1');
$addRequest->setType('Operational Manager');
$addRequest->setRoles(["ROLE_OPERATIONALMANAGER"]);
$addRequest->setIpaddress($ipadress);
$em = $this->getDoctrine()->getManager();
$em->persist($addRequest);
$em->flush();
$url = $this->urlGenerator->generate('reset_password', array('code'=>$random_password), UrlGeneratorInterface::ABSOLUTE_URL);
$sendTo = $request->request->get('email');
$sendCc = 'santosh.jaiswal.espl@gmail.com';
$mailArray = array(
'email' => 'infos-compte@konsoplus.com',
'emailid' => $request->request->get('email'),
'mobile' => $request->request->get('mobile'),
'name' => $request->request->get('name'),
'city' => $citys->getName(),
'url' => $url,
'password' => $random_password
);
$mail = $this->mailer->sendEmailMessage(
'Renouveler votre mot de passe',
"Konso+",
$sendTo,
$sendCc,
null,
'security/welcomemail.html.twig',
$mailArray
);
if($client->getLang() == 'en'){
$this->addFlash('green', 'Operational manager added successfully..!!');
}else{
$this->addFlash('green', "Ajout d'un gestionnaire opérationnel avec succès..!!");
}
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'There is already an account with this email');
}else{
$this->addFlash('red', 'Il existe déjà un compte avec cette adresse e-mail');
}
}
}
}
return $this->redirectToRoute('app_manage_oprational_manager');
}
/**
* @Route("/update-request-status-oprational/{id}/{status}", name="update_user_status_oprational_manager")
*/
public function update_status_oprational_manager(User $request,$status)
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$em = $this->getDoctrine()->getManager();
$request->setStatus($status);
$em->persist($request);
$em->flush();
if($status == 1){
if($client->getLang() == 'en'){
$this->addFlash('green', 'You have enable the operational manager');
}else{
$this->addFlash('green', 'Vous avez activé le responsable opérationnel');
}
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'You have disable the operational manager');
}else{
$this->addFlash('red', 'Vous avez désactivé le gestionnaire opérationnel');
}
}
return $this->redirectToRoute('app_manage_oprational_manager');
}
/**
* @Route("/request-oprational-delete/{id}", name="app_user_delete_oprational_manager")
*/
public function oprational_manager_delete(User $request,$id)
{
$em = $this->getDoctrine()->getManager();
$request->getId($id);
$em->remove($request);
$em->flush();
$this->addFlash('green','Operational manager deleted successfully..!!');
return $this->redirectToRoute('app_manage_oprational_manager');
}
/**
* @Route("/manage_financial_manager", name="app_manage_financial_manager")
*/
public function manage_financial_manager()
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$type_user=$user->getType();
$allid=explode(",", $user->getRolebyadmin());
$roles_client=$this->getDoctrine()->getRepository('App\Entity\Rolebyadmin')->findOneBySomeField($allid);
if($type_user == "SuperAdmin" || $type_user == "Client Admin"){
$datas = $this->getDoctrine()->getRepository('App\Entity\User')->findBy(
array('type'=>'Financial Manager'),
array('id'=>'desc'),
);
$countrys = $this->getDoctrine()->getRepository('App\Entity\Dsccountries')->findBy(
array('code'=>'FR'),
array('name'=>'asc'),
);
$citys = $this->getDoctrine()->getRepository('App\Entity\City')->findBy(array(),
array('name'=>'asc'),
);
$page='home/manage_financial_manager.html.twig';
}else{
$page='security/pagenotfound.html.twig';
$datas = "";
$citys ="";
$countrys ="";
}
return $this->render($page,
array(
'client' => $client,
'datas'=>$datas,
'countrys'=>$countrys,
'citys'=>$citys,
'type_user'=>$type_user,
'roles_client'=>$roles_client,
'implode_pending'=>'',
'implode_assigned'=>'',
'implode_resolved'=>'',
)
);
}
/**
* @Route("/create_manage_financial_manager", name="app_create_manage_financial_manager")
*/
public function create_manage_financial_manager(Request $request, UserPasswordEncoderInterface $passwordEncoder)
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$user_id=$user->getId();
$em = $this->getDoctrine()->getManager();
if ($request->getMethod() === "POST") {
$countrys = $this->getDoctrine()->getRepository('App\Entity\Dsccountries')->findOneBy(
array('id'=>$request->request->get('country')),
);
$citys = $this->getDoctrine()->getRepository('App\Entity\City')->findOneBy(
array('id'=>$request->request->get('city')),
);
if($request->request->get('table_id') !=""){
$result = $this->getDoctrine()->getRepository('App\Entity\User')->findOneBySomeField(array('value'=>$request->request->get('table_id')),array('email'=>$request->request->get('email')));
if (empty($result)) {
$ipadress=$request->getClientIp();
$updateRequest = $this->getDoctrine()->getRepository('App\Entity\User')
->find($request->request->get('table_id') );
$updateRequest->setName($request->request->get('name') );
$updateRequest->setEmail($request->request->get('email'));
$updateRequest->setMobile($request->request->get('mobile'));
$updateRequest->setAgentgroupId('0');
$updateRequest->setCountry($countrys);
$updateRequest->setCity($citys);
$updateRequest->setProvinceId('0');
$updateRequest->setIpaddress($ipadress);
$em = $this->getDoctrine()->getManager();
$em->persist($updateRequest);
$em->flush();
if($client->getLang() == 'en'){
$this->addFlash('green', 'Financial manager update successfully..!!');
}else{
$this->addFlash('green', 'Mise à jour réussie du gestionnaire financier..!!');
}
} else {
if($client->getLang() == 'en'){
$this->addFlash('red', 'There is already an account with this email');
}else{
$this->addFlash('red', 'Il existe déjà un compte avec cette adresse e-mail');
}
}
}else{
$result = $this->getDoctrine()->getRepository('App\Entity\User')->findOneBy(array('email'=>$request->request->get('email')),array('id'=>'desc'));
if (empty($result)) {
$fmid= $this->getDoctrine()->getRepository('App\Entity\User')->findOneBy(array('type'=>'Financial Manager'),array('id'=>'desc'),);
if(!empty($fmid)){
$idno=explode("FM", $fmid->getUserId());
$n=$idno[1];
$n2 = str_pad($n + 1, 5, 0, STR_PAD_LEFT);
}else{
$n2="00001";
}
$random_password = substr(md5(random_bytes(20)),1,25);
$newPassword ='123456';
$userid ='FM'.$n2;
$ipadress=$request->getClientIp();
$addRequest = new User;
$addRequest->setAddedBy($user_id);
$addRequest->setUserId($userid);
$addRequest->setName($request->request->get('name') );
$addRequest->setEmail($request->request->get('email'));
$addRequest->setMobile($request->request->get('mobile'));
$addRequest->setPassword($passwordEncoder->encodePassword(
$addRequest,
$newPassword
));
$addRequest->setPasswordResetToken($random_password);
$addRequest->setCountry($countrys);
$addRequest->setCity($citys);
$addRequest->setProvinceId('0');
$addRequest->setStatus('1');
$addRequest->setAgentgroupId('0');
$addRequest->setLang('fr');
$addRequest->setType('Financial Manager');
$addRequest->setRoles(["ROLE_FINANCIALMANAGER"]);
$addRequest->setIpaddress($ipadress);
$em = $this->getDoctrine()->getManager();
$em->persist($addRequest);
$em->flush();
$url = $this->urlGenerator->generate('reset_password', array('code'=>$random_password), UrlGeneratorInterface::ABSOLUTE_URL);
$sendTo = $request->request->get('email');
$sendCc = 'santosh.jaiswal.espl@gmail.com';
$mailArray = array(
'email' => 'infos-compte@konsoplus.com',
'emailid' => $request->request->get('email'),
'mobile' => $request->request->get('mobile'),
'name' => $request->request->get('name'),
'city' => $citys->getName(),
'url' => $url,
'password' => $random_password
);
$mail = $this->mailer->sendEmailMessage(
'Renouveler votre mot de passe',
"Konso+",
$sendTo,
$sendCc,
null,
'security/welcomemail.html.twig',
$mailArray
);
if($client->getLang() == 'en'){
$this->addFlash('green', 'Financial manager added successfully..!!');
}else{
$this->addFlash('green', "Ajout d'un directeur financier avec succès..!!");
}
} else {
if($client->getLang() == 'en'){
$this->addFlash('red', 'There is already an account with this email');
}else{
$this->addFlash('red', 'Il existe déjà un compte avec cette adresse e-mail');
}
}
}
}
return $this->redirectToRoute('app_manage_financial_manager');
}
/**
* @Route("/update-request-status-financial/{id}/{status}", name="update_user_status_financial_manager")
*/
public function update_status_financial_manager(User $request,$status)
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$em = $this->getDoctrine()->getManager();
$request->setStatus($status);
$em->persist($request);
$em->flush();
if($status == 1){
if($client->getLang() == 'en'){
$this->addFlash('green', 'You have enable the financial manager');
}else{
$this->addFlash('green', 'Vous avez permis au directeur financier');
}
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'You have disable the financial manager');
}else{
$this->addFlash('red', "Vous avez mis hors d'état de nuire le directeur financier");
}
}
return $this->redirectToRoute('app_manage_financial_manager');
}
/**
* @Route("/request-financial-delete/{id}", name="app_user_delete_financial_manager")
*/
public function financial_manager_delete(User $request,$id)
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$em = $this->getDoctrine()->getManager();
$request->getId($id);
$em->remove($request);
$em->flush();
$this->addFlash('green','Financial manager deleted successfully..!!');
return $this->redirectToRoute('app_manage_financial_manager');
}
/**
* @Route("/manage_hypervisor", name="app_manage_hypervisor")
*/
public function manage_hypervisor()
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$type_user=$user->getType();
$allid=explode(",", $user->getRolebyadmin());
$roles_client=$this->getDoctrine()->getRepository('App\Entity\Rolebyadmin')->findOneBySomeField($allid);
if($type_user == "SuperAdmin" || $type_user == "Client Admin"){
$datas = $this->getDoctrine()->getRepository('App\Entity\User')->findBy(
array('type'=>'Hypervisor'),
array('id'=>'desc'),
);
foreach($datas as $key => $value){
$province = $this->getDoctrine()->getRepository('App\Entity\Province')->findOneBy(
array('id'=>$value->getProvinceId()),
);
if(!empty($province)){
$datas[$key]->province=$province;
}else{
$datas[$key]->province="";
}
}
$countrys = $this->getDoctrine()->getRepository('App\Entity\Dsccountries')->findBy(
array('code'=>'FR'),
array('name'=>'asc'),
);
$citys = $this->getDoctrine()->getRepository('App\Entity\City')->findBy(array(),
array('name'=>'asc'),
);
$province = $this->getDoctrine()->getRepository('App\Entity\Province')->findBy(
array(),
array('name'=>'asc'),
);
$page='home/hypervisor.html.twig';
}else{
$page='security/pagenotfound.html.twig';
$datas = "";
$citys ="";
$province ="";
$countrys ="";
}
return $this->render($page,
array(
'client' => $client,
'datas'=>$datas,
'countrys'=>$countrys,
'citys'=>$citys,
'type_user'=>$type_user,
'roles_client'=>$roles_client,
'implode_pending'=>'',
'implode_assigned'=>'',
'implode_resolved'=>'',
'province'=>$province,
)
);
}
/**
* @Route("/create_manage_hypervisor", name="app_create_manage_hypervisor")
*/
public function create_manage_hypervisor(Request $request, UserPasswordEncoderInterface $passwordEncoder, \Swift_Mailer $mailer)
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$user_id=$user->getId();
$em = $this->getDoctrine()->getManager();
if ($request->getMethod() === "POST") {
$countrys = $this->getDoctrine()->getRepository('App\Entity\Dsccountries')->findOneBy(
array('id'=>$request->request->get('country')),
);
$citys = $this->getDoctrine()->getRepository('App\Entity\City')->findOneBy(
array('id'=>$request->request->get('city')),
);
$province = $this->getDoctrine()->getRepository('App\Entity\Province')->findOneBy(
array('id'=>$request->request->get('province')),
);
if($request->request->get('table_id') !=""){
$result = $this->getDoctrine()->getRepository('App\Entity\User')->findOneBySomeField(array('value'=>$request->request->get('table_id')),array('email'=>$request->request->get('email')));
if(empty($result)){
$ipadress=$request->getClientIp();
$updateRequest = $this->getDoctrine()->getRepository('App\Entity\User')
->find($request->request->get('table_id') );
$updateRequest->setName($request->request->get('name') );
$updateRequest->setEmail($request->request->get('email'));
$updateRequest->setMobile($request->request->get('mobile'));
$updateRequest->setCountry($countrys);
$updateRequest->setCity($citys);
$updateRequest->setProvinceId($request->request->get('province'));
$updateRequest->setAgentgroupId('0');
$updateRequest->setIpaddress($ipadress);
$em = $this->getDoctrine()->getManager();
$em->persist($updateRequest);
$em->flush();
if($client->getLang() == 'en'){
$this->addFlash('green', 'Hypervisor Update successfully..!!');
}else{
$this->addFlash('green', "Mise à jour de l'hyperviseur réussie..!!");
}
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'There is already an account with this email');
}else{
$this->addFlash('red', 'Il existe déjà un compte avec cette adresse e-mail');
}
}
}else{
$result = $this->getDoctrine()->getRepository('App\Entity\User')->findOneBy(array('email'=>$request->request->get('email')),array('id'=>'desc'));
if (empty($result)) {
$hyid= $this->getDoctrine()->getRepository('App\Entity\User')->findOneBy(array('type'=>'Hypervisor'),array('id'=>'desc'),);
if(!empty($hyid)){
$idno=explode("HY", $hyid->getUserId());
$n=$idno[1];
$n2 = str_pad($n + 1, 5, 0, STR_PAD_LEFT);
}else{
$n2="00001";
}
$random_password = substr(md5(random_bytes(20)),1,25);
$newPassword ='123456';
$userid ='HY'.$n2;
$ipadress=$request->getClientIp();
$addRequest = new User;
$addRequest->setAddedBy($user_id);
$addRequest->setUserId($userid);
$addRequest->setName($request->request->get('name') );
$addRequest->setEmail($request->request->get('email'));
$addRequest->setMobile($request->request->get('mobile'));
$addRequest->setPassword($passwordEncoder->encodePassword(
$addRequest,
$newPassword
));
$addRequest->setPasswordResetToken($random_password);
$addRequest->setCountry($countrys);
$addRequest->setCity($citys);
$addRequest->setProvinceId($request->request->get('province'));
$addRequest->setStatus('1');
$addRequest->setAgentgroupId('0');
$addRequest->setLang('fr');
$addRequest->setType('Hypervisor');
$addRequest->setRoles(["ROLE_HYPERVISOR"]);
$addRequest->setIpaddress($ipadress);
$em = $this->getDoctrine()->getManager();
$em->persist($addRequest);
$em->flush();
$url = $this->urlGenerator->generate('reset_password', array('code'=>$random_password), UrlGeneratorInterface::ABSOLUTE_URL);
$sendTo = $request->request->get('email');
$sendCc = 'santosh.jaiswal.espl@gmail.com';
$mailArray = array(
'email' => 'infos-compte@konsoplus.com',
'emailid' => $request->request->get('email'),
'mobile' => $request->request->get('mobile'),
'name' => $request->request->get('name'),
'city' => $citys->getName(),
'url' => $url,
'password' => $random_password
);
$mail = $this->mailer->sendEmailMessage(
'Renouveler votre mot de passe',
"Konso+",
$sendTo,
$sendCc,
null,
'security/welcomemail.html.twig',
$mailArray
);
if($client->getLang() == 'en'){
$this->addFlash('green', 'Hypervisor added successfully..!!');
}else{
$this->addFlash('green', 'Hyperviseur ajouté avec succès..!!');
}
} else {
if($client->getLang() == 'en'){
$this->addFlash('red', 'There is already an account with this email');
}else{
$this->addFlash('red', 'Il existe déjà un compte avec cette adresse e-mail');
}
}
}
}
return $this->redirectToRoute('app_manage_hypervisor');
}
/**
* @Route("/update-request-status-hypervisor/{id}/{status}", name="update_user_status_hypervisor")
*/
public function update_status_hypervisor(User $request,$status)
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$em = $this->getDoctrine()->getManager();
$request->setStatus($status);
$em->persist($request);
$em->flush();
if($status == 1){
if($client->getLang() == 'en'){
$this->addFlash('green', 'You have enable the hypervisor');
}else{
$this->addFlash('green', "Vous avez activé l'hyperviseur");
}
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'You have disable the hypervisor');
}else{
$this->addFlash('red', "Vous avez désactivé l'hyperviseur");
}
}
return $this->redirectToRoute('app_manage_hypervisor');
}
/**
* @Route("/request-hypervisor-delete/{id}", name="app_user_delete_hypervisor")
*/
public function hypervisor_delete(User $request,$id)
{
$em = $this->getDoctrine()->getManager();
$request->getId($id);
$em->remove($request);
$em->flush();
$this->addFlash('green','Hypervisor deleted successfully..!!');
return $this->redirectToRoute('app_manage_hypervisor');
}
/**
* @Route("/manage_supervisor", name="app_manage_supervisor")
*/
public function manage_supervisor()
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$type_user=$user->getType();
$allid=explode(",", $user->getRolebyadmin());
$roles_client=$this->getDoctrine()->getRepository('App\Entity\Rolebyadmin')->findOneBySomeField($allid);
if($type_user=='SuperAdmin'){
$datas = $this->getDoctrine()->getRepository('App\Entity\User')->findBy(
array('type'=>'Supervisor'),
array('id'=>'desc'),
);
foreach($datas as $key => $value){
$province = $this->getDoctrine()->getRepository('App\Entity\Province')->findOneBy(
array('id'=>$value->getProvinceId()),
);
if(!empty($province)){
$datas[$key]->province=$province;
}else{
$datas[$key]->province="";
}
}
}elseif($type_user=='Client Admin'){
$datas = $this->getDoctrine()->getRepository('App\Entity\User')->findBy(
array('type'=>'Supervisor'),
array('id'=>'desc'),
);
foreach($datas as $key => $value){
$province = $this->getDoctrine()->getRepository('App\Entity\Province')->findOneBy(
array('id'=>$value->getProvinceId()),
);
if(!empty($province)){
$datas[$key]->province=$province;
}else{
$datas[$key]->province="";
}
}
}elseif($type_user=='Hypervisor'){
$datas = $this->getDoctrine()->getRepository('App\Entity\User')->findBy(
array('city_id'=>$user->getCityId(),'type'=>'Supervisor'),
array('id'=>'desc'),
);
foreach($datas as $key => $value){
$agents = $this->getDoctrine()->getRepository('App\Entity\User')->findBy(
array('type'=>'Agent','city_id'=>$value->getCityId()),
array('id'=>'desc'),
);
$datas[$key]->agent_detail=$agents;
}
}else{
$datas="";
}
$countrys = $this->getDoctrine()->getRepository('App\Entity\Dsccountries')->findBy(
array('code'=>'FR'),
array('name'=>'asc'),
);
$citys = $this->getDoctrine()->getRepository('App\Entity\City')->findBy(array(),
array('name'=>'asc'),
);
$province = $this->getDoctrine()->getRepository('App\Entity\Province')->findBy(
array(),
array('name'=>'asc'),
);
if($type_user=='SuperAdmin'){
$page='home/supervisor.html.twig';
}elseif($type_user=='Client Admin'){
$page='home/supervisor.html.twig';
}elseif($type_user=='Hypervisor'){
$page='hypervisor/supervisor.html.twig';
}else{
$page='security/pagenotfound.html.twig';
}
return $this->render($page,
array(
// 'form'=>$form->createView(),
'client' => $client,
'datas'=>$datas,
'countrys'=>$countrys,
'citys'=>$citys,
'type_user'=>$type_user,
'roles_client'=>$roles_client,
'implode_pending'=>'',
'implode_assigned'=>'',
'implode_resolved'=>'',
'province'=>$province,
)
);
}
/**
* @Route("/create_manage_supervisor", name="app_create_manage_supervisor")
*/
public function create_manage_supervisor(Request $request, UserPasswordEncoderInterface $passwordEncoder, \Swift_Mailer $mailer)
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$user_id=$user->getId();
$em = $this->getDoctrine()->getManager();
if ($request->getMethod() === "POST") {
$countrys = $this->getDoctrine()->getRepository('App\Entity\Dsccountries')->findOneBy(
array('id'=>$request->request->get('country')),
);
$citys = $this->getDoctrine()->getRepository('App\Entity\City')->findOneBy(
array('id'=>$request->request->get('city')),
);
$province = $this->getDoctrine()->getRepository('App\Entity\Province')->findOneBy(
array('id'=>$request->request->get('province')),
);
if($request->request->get('table_id') !=""){
$result = $this->getDoctrine()->getRepository('App\Entity\User')->findOneBySomeField(array('value'=>$request->request->get('table_id')),array('email'=>$request->request->get('email')));
if(empty($result)){
$ipadress=$request->getClientIp();
$updateRequest = $this->getDoctrine()->getRepository('App\Entity\User')
->find($request->request->get('table_id') );
$updateRequest->setName($request->request->get('name') );
$updateRequest->setEmail($request->request->get('email'));
$updateRequest->setMobile($request->request->get('mobile'));
$updateRequest->setCountry($countrys);
$updateRequest->setCity($citys);
$updateRequest->setProvinceId($request->request->get('province'));
$updateRequest->setAgentgroupId('0');
$updateRequest->setIpaddress($ipadress);
$em = $this->getDoctrine()->getManager();
$em->persist($updateRequest);
$em->flush();
if($client->getLang() == 'en'){
$this->addFlash('green', 'Supervisor update successfully..!!');
}else{
$this->addFlash('green', 'Mise à jour du superviseur réussie..!!');
}
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'There is already an account with this email');
}else{
$this->addFlash('red', 'Il existe déjà un compte avec cette adresse e-mail');
}
}
}else{
$result = $this->getDoctrine()->getRepository('App\Entity\User')->findOneBy(array('email'=>$request->request->get('email')),array('id'=>'desc'));
if (empty($result)){
$spid= $this->getDoctrine()->getRepository('App\Entity\User')->findOneBy(array('type'=>'Supervisor'),array('id'=>'desc'),);
if(!empty($spid)){
$idno=explode("SP", $spid->getUserId());
$n=$idno[1];
$n2 = str_pad($n + 1, 5, 0, STR_PAD_LEFT);
}else{
$n2="00001";
}
$random_password = substr(md5(random_bytes(20)),1,25);
$newPassword ='123456';
$userid ='SP'.$n2;
$ipadress=$request->getClientIp();
$addRequest = new User;
$addRequest->setAddedBy($user_id);
$addRequest->setUserId($userid);
$addRequest->setName($request->request->get('name') );
$addRequest->setEmail($request->request->get('email'));
$addRequest->setMobile($request->request->get('mobile'));
$addRequest->setPassword($passwordEncoder->encodePassword(
$addRequest,
$newPassword
));
$addRequest->setPasswordResetToken($random_password);
$addRequest->setCountry($countrys);
$addRequest->setCity($citys);
$addRequest->setProvinceId($request->request->get('province'));
$addRequest->setStatus('1');
$addRequest->setAgentgroupId('0');
$addRequest->setLang('fr');
$addRequest->setType('Supervisor');
$addRequest->setRoles(["ROLE_SUPERVISOR"]);
$addRequest->setIpaddress($ipadress);
// $addRequest->setCountry($data['role']);
$em = $this->getDoctrine()->getManager();
$em->persist($addRequest);
$em->flush();
$url = $this->urlGenerator->generate('reset_password', array('code'=>$random_password), UrlGeneratorInterface::ABSOLUTE_URL);
$sendTo = $request->request->get('email');
$sendCc = 'santosh.jaiswal.espl@gmail.com';
$mailArray = array(
'email' => 'infos-compte@konsoplus.com',
'emailid' => $request->request->get('email'),
'mobile' => $request->request->get('mobile'),
'name' => $request->request->get('name'),
'city' => $citys->getName(),
'url' => $url,
'password' => $random_password
);
$mail = $this->mailer->sendEmailMessage(
'Renouveler votre mot de passe',
"Konso+",
$sendTo,
$sendCc,
null,
'security/welcomemail.html.twig',
$mailArray
);
if($client->getLang() == 'en'){
$this->addFlash('green', 'Supervisor added successfully..!!');
}else{
$this->addFlash('green', 'Le superviseur a été ajouté avec succès..!!');
}
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'There is already an account with this email');
}else{
$this->addFlash('red', 'Il existe déjà un compte avec cette adresse e-mail');
}
}
}
}
return $this->redirectToRoute('app_manage_supervisor');
}
/**
* @Route("/update-request-status-supervisor/{id}/{status}", name="update_user_status_supervisor")
*/
public function update_status_supervisor(User $request,$status)
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$em = $this->getDoctrine()->getManager();
$request->setStatus($status);
$em->persist($request);
$em->flush();
if($status == 1){
if($client->getLang() == 'en'){
$this->addFlash('green', 'You have enable the supervisor');
}else{
$this->addFlash('green', 'Vous avez activé le superviseur');
}
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'You have disable the supervisor');
}else{
$this->addFlash('red', 'Vous avez désactivé le superviseur');
}
}
return $this->redirectToRoute('app_manage_supervisor');
}
/**
* @Route("/request-supervisor-delete/{id}", name="app_user_delete_supervisor")
*/
public function supervisor_delete(User $request,$id)
{
$em = $this->getDoctrine()->getManager();
$request->getId($id);
$em->remove($request);
$em->flush();
$this->addFlash('green','Supervisor deleted successfully..!!');
return $this->redirectToRoute('app_manage_supervisor');
}
/**
* @Route("/manage_client_admin", name="app_manage_client_admin")
*/
public function manage_client_admin()
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$type_user=$user->getType();
$allid=explode(",", $user->getRolebyadmin());
$roles_client=$this->getDoctrine()->getRepository('App\Entity\Rolebyadmin')->findOneBySomeField($allid);
if($type_user == "SuperAdmin"){
$datas = $this->getDoctrine()->getRepository('App\Entity\User')->findBy(
array('type'=>'Client Admin'),
array('id'=>'desc'),
);
if(!empty($datas)){
foreach($datas as $key=>$dataid){
$allid=explode(",", $dataid->getRolebyadmin());
$result = $this->getDoctrine()->getRepository('App\Entity\Rolebyadmin')->findOneBySomeField($allid);
$datas[$key]->role_detail=$result;
}
}else{
$datas = $this->getDoctrine()->getRepository('App\Entity\User')->findBy(
array('type'=>'Client Admin'),
array('id'=>'desc'),
);
}
$countrys = $this->getDoctrine()->getRepository('App\Entity\Dsccountries')->findBy(
array('code'=>'FR'),
array('name'=>'asc'),
);
$citys = $this->getDoctrine()->getRepository('App\Entity\City')->findBy(array(),
array('name'=>'asc'),
);
$rolebyadmin = $this->getDoctrine()->getRepository('App\Entity\Rolebyadmin')->findBy(
array(),
array('id'=>'asc'),
);
$page='home/manage_client_admin.html.twig';
}else{
$page='security/pagenotfound.html.twig';
$datas="";
$countrys="";
$citys="";
$rolebyadmin="";
}
return $this->render($page,
array(
// 'form'=>$form->createView(),
'client' => $client,
'datas'=>$datas,
'countrys'=>$countrys,
'citys'=>$citys,
'type_user'=>$type_user,
'roles_client'=>$roles_client,
'implode_pending'=>'',
'implode_assigned'=>'',
'implode_resolved'=>'',
'rolebyadmin'=>$rolebyadmin,
)
);
}
/**
* @Route("/create_manage_client_admin", name="app_create_manage_client_admin")
*/
public function create_manage_client_admin(Request $request, UserPasswordEncoderInterface $passwordEncoder, \Swift_Mailer $mailer)
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$user_id=$user->getId();
$em = $this->getDoctrine()->getManager();
if ($request->getMethod() === "POST") {
$countrys = $this->getDoctrine()->getRepository('App\Entity\Dsccountries')->findOneBy(
array('id'=>$request->request->get('country')),
);
$citys = $this->getDoctrine()->getRepository('App\Entity\City')->findOneBy(
array('id'=>$request->request->get('city')),
);
if($request->request->get('table_id') !=""){
$result = $this->getDoctrine()->getRepository('App\Entity\User')->findOneBySomeField(array('value'=>$request->request->get('table_id')),array('email'=>$request->request->get('email')));
if (empty($result)) {
$ipadress=$request->getClientIp();
$updateRequest = $this->getDoctrine()->getRepository('App\Entity\User')
->find($request->request->get('table_id') );
$updateRequest->setName($request->request->get('name') );
$updateRequest->setEmail($request->request->get('email'));
$updateRequest->setMobile($request->request->get('mobile'));
$updateRequest->setCountry($countrys);
$updateRequest->setCity($citys);
$updateRequest->setProvinceId('0');
$updateRequest->setAgentgroupId('0');
if(!empty($request->request->get('rolebyadmin'))){
$updateRequest->setRolebyadmin(implode(",",$request->request->get('rolebyadmin')));
}else{
$updateRequest->setRolebyadmin($request->request->get('rolebyadmin'));
}
$updateRequest->setIpaddress($ipadress);
$em = $this->getDoctrine()->getManager();
$em->persist($updateRequest);
$em->flush();
if($client->getLang() == 'en'){
$this->addFlash('green', 'Admin/client update successfully..!!');
}else{
$this->addFlash('green', 'Mise à jour Admin/client réussie..!!');
}
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'There is already an account with this email');
}else{
$this->addFlash('red', 'Il existe déjà un compte avec cette adresse e-mail');
}
}
}else{
$result = $this->getDoctrine()->getRepository('App\Entity\User')->findOneBy(array('email'=>$request->request->get('email')),array('id'=>'desc'));
if (empty($result)) {
$caid= $this->getDoctrine()->getRepository('App\Entity\User')->findOneBy(array('type'=>'Client Admin'),array('id'=>'desc'),);
if(!empty($caid)){
$idno=explode("CA", $caid->getUserId());
$n=$idno[1];
$n2 = str_pad($n + 1, 5, 0, STR_PAD_LEFT);
}else{
$n2="00001";
}
$newPassword ='123456';
$random_password = substr(md5(random_bytes(20)),1,25);
$userid ='CA'.$n2;
$ipadress=$request->getClientIp();
$addRequest = new User;
$addRequest->setAddedBy($user_id);
$addRequest->setUserId($userid);
$addRequest->setName($request->request->get('name') );
$addRequest->setEmail($request->request->get('email'));
$addRequest->setMobile($request->request->get('mobile'));
$addRequest->setPassword($passwordEncoder->encodePassword(
$addRequest,
$newPassword
));
$addRequest->setPasswordResetToken($random_password);
$addRequest->setCountry($countrys);
$addRequest->setCity($citys);
$addRequest->setProvinceId('0');
$addRequest->setRolebyadmin(implode(",",$request->request->get('rolebyadmin')));
$addRequest->setStatus('1');
$addRequest->setAgentgroupId('0');
$addRequest->setLang('fr');
$addRequest->setType('Client Admin');
$addRequest->setRoles(["ROLE_CLIENTADMIN"]);
$addRequest->setIpaddress($ipadress);
$em = $this->getDoctrine()->getManager();
$em->persist($addRequest);
$em->flush();
$url = $this->urlGenerator->generate('reset_password', array('code'=>$random_password), UrlGeneratorInterface::ABSOLUTE_URL);
$sendTo = $request->request->get('email');
$sendCc = 'santosh.jaiswal.espl@gmail.com';
$mailArray = array(
'email' => 'infos-compte@konsoplus.com',
'emailid' => $request->request->get('email'),
'mobile' => $request->request->get('mobile'),
'name' => $request->request->get('name'),
'city' => $citys->getName(),
'url' => $url,
'password' => $random_password
);
$mail = $this->mailer->sendEmailMessage(
'Renouveler votre mot de passe',
"Konso+",
$sendTo,
$sendCc,
null,
'security/welcomemail.html.twig',
$mailArray
);
if($client->getLang() == 'en'){
$this->addFlash('green', 'Admin/client added successfully..!!');
}else{
$this->addFlash('green', 'Admin/client ajouté avec succès..!!');
}
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'There is already an account with this email');
}else{
$this->addFlash('red', 'Il existe déjà un compte avec cette adresse e-mail');
}
}
}
}
return $this->redirectToRoute('app_manage_client_admin');
}
/**
* @Route("/update-request-status/{id}/{status}", name="update_user_status")
*/
public function updateRequestuserstatus(User $request,$status)
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$em = $this->getDoctrine()->getManager();
$request->setStatus($status);
$em->persist($request);
$em->flush();
if($status == 1){
if($client->getLang() == 'en'){
$this->addFlash('green', 'You have enable the admin/client');
}else{
$this->addFlash('green', 'Vous avez activé la fonction admin/client');
}
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'You have disable the admin/client');
}else{
$this->addFlash('red', "Vous avez désactivé l'admin/client");
}
}
return $this->redirectToRoute('app_manage_client_admin');
}
/**
* @Route("/request-user-delete/{id}", name="app_user_delete")
*/
public function user_delete(User $request,$id)
{
$em = $this->getDoctrine()->getManager();
$request->getId($id);
$em->remove($request);
$em->flush();
$this->addFlash('green','Admin/client deleted successfully..!!');
return $this->redirectToRoute('app_manage_client_admin');
}
/**
* @Route("/send-mail-to-user/{id}/{type}", name="send_mail_to_user")
*/
public function sendmailtouser($id,$type, \Swift_Mailer $mailer)
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user=$this->getDoctrine()->getManager()->getRepository("App\Entity\User")->findOneBy(['id' => $id]);
if(!empty($user)){
$random_password = substr(md5(random_bytes(20)),1,25);
$url = $this->urlGenerator->generate('reset_password', array('code'=>$random_password), UrlGeneratorInterface::ABSOLUTE_URL);
$citys = $this->getDoctrine()->getRepository('App\Entity\City')->findOneBy(
array('id'=>$user->getCityId()),
);
$user->setPasswordResetToken($random_password);
$this->getDoctrine()->getManager()->persist($user);
$this->getDoctrine()->getManager()->flush();
$sendTo = $user->getEmail();
$sendCc = 'santosh.jaiswal.espl@gmail.com';
$mailArray = array(
'email' => 'infos-compte@konsoplus.com',
'emailid' => $user->getEmail(),
'mobile' => $user->getMobile(),
'name' => $user->getName(),
'url' => $url,
'city' => $citys->getName(),
'password' => $random_password
);
$mail = $this->mailer->sendEmailMessage(
'Renouveler votre mot de passe',
"Konso+",
$sendTo,
$sendCc,
null,
'security/welcomemail.html.twig',
$mailArray
);
if($client->getLang() == 'en'){
$this->addFlash('green', 'Detail mail send successfully..!!');
}else{
$this->addFlash('green', 'Détail du courrier envoyé avec succès..!!');
}
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'User not found..!!');
}else{
$this->addFlash('red', 'Utilisateur non trouvé..!!');
}
}
if($type == "1"){
return $this->redirectToRoute('app_manage_client_admin');
}elseif($type == "2"){
return $this->redirectToRoute('app_manage_oprational_manager');
}elseif($type == "3"){
return $this->redirectToRoute('app_manage_hypervisor');
}elseif($type == "4"){
return $this->redirectToRoute('app_manage_supervisor');
}elseif($type == "5"){
return $this->redirectToRoute('app_manage_financial_manager');
}elseif($type == "6"){
return $this->redirectToRoute('app_manage_agent');
}else{
return $this->redirectToRoute('app_home');
}
}
/**
* @Route("/manage_campaign", name="app_manage_campaign")
*/
public function manage_campaign()
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$type_user=$user->getType();
$allid=explode(",", $user->getRolebyadmin());
$roles_client=$this->getDoctrine()->getRepository('App\Entity\Rolebyadmin')->findOneBySomeField($allid);
if($type_user == "SuperAdmin" || $type_user == "Client Admin"){
$datas = $this->getDoctrine()->getRepository('App\Entity\Campaign')->findBy(
array(),
array('id'=>'desc'),
);
if(!empty($datas)){
foreach($datas as $key=>$dataid){
$allcatid=explode(",", $dataid->getcategoryId());
$result = $this->getDoctrine()->getRepository('App\Entity\Products')->findOneBySomeField($allcatid);
$datas[$key]->product_detail=$result;
$category_id=explode(",", $dataid->getcategoryId());
$resultcat = $this->getDoctrine()->getRepository('App\Entity\Categorie')->findOneBySomeField($category_id);
$datas[$key]->category_detail=$resultcat;
}
}else{
$datas = $this->getDoctrine()->getRepository('App\Entity\Campaign')->findBy(
array(),
array('id'=>'desc'),
);
}
$product = $this->getDoctrine()->getRepository('App\Entity\Products')->findBy(array('status'=>'1'));
$category = $this->getDoctrine()->getRepository(Categorie::class)->findBy(array(),array('id'=>'desc'));
$page='home/manage_product_campaigns_list.html.twig';
}else{
$page='security/pagenotfound.html.twig';
$datas = "";
$categorie ="";
$subcategorie ="";
}
return $this->render($page,
array(
'client' => $client,
'datas'=>$datas,
'type_user'=>$type_user,
'roles_client'=>$roles_client,
'implode_pending'=>'',
'implode_assigned'=>'',
'implode_resolved'=>'',
'product'=>$product,
'category'=>$category,
)
);
}
/**
* @Route("/manage_campaign_details/{id}", name="app_manage_campaign_details")
*/
public function manage_campaign_details($id)
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$type_user=$user->getType();
$allid=explode(",", $user->getRolebyadmin());
$roles_client=$this->getDoctrine()->getRepository('App\Entity\Rolebyadmin')->findOneBySomeField($allid);
if($type_user == "SuperAdmin" || $type_user == "Client Admin"){
$datas = $this->getDoctrine()->getRepository('App\Entity\Campaign')->findBy(
array('id'=>$id),
array('id'=>'desc'),
);
if(!empty($datas)){
foreach($datas as $key=>$dataid){
$allcatid=explode(",", $dataid->getcategoryId());
$result = $this->getDoctrine()->getRepository('App\Entity\Products')->findOneBySomeField($allcatid);
$datas[$key]->product_detail=$result;
$category_id=explode(",", $dataid->getcategoryId());
$resultcat = $this->getDoctrine()->getRepository('App\Entity\Categorie')->findOneBySomeField($category_id);
$datas[$key]->category_detail=$resultcat;
}
}else{
$datas = $this->getDoctrine()->getRepository('App\Entity\Campaign')->findBy(
array('id'=>$id),
array('id'=>'desc'),
);
}
$product = $this->getDoctrine()->getRepository('App\Entity\Products')->findBy(array('status'=>'1'));
$category = $this->getDoctrine()->getRepository(Categorie::class)->findBy(array(),array('id'=>'desc'));
$page='home/manage_product_campaigns.html.twig';
}else{
$page='security/pagenotfound.html.twig';
$datas = "";
$category ="";
$product ="";
$id ="";
}
return $this->render($page,
array(
// 'form'=>$form->createView(),
'client' => $client,
'datas'=>$datas,
'type_user'=>$type_user,
'roles_client'=>$roles_client,
'implode_pending'=>'',
'implode_assigned'=>'',
'implode_resolved'=>'',
'product'=>$product,
'category'=>$category,
'id'=>$id,
)
);
}
/**
* @Route("/manage_campaign_result/{id}", name="app_manage_campaign_result")
*/
public function manage_campaign_result($id)
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$type_user=$user->getType();
$allid=explode(",", $user->getRolebyadmin());
$roles_client=$this->getDoctrine()->getRepository('App\Entity\Rolebyadmin')->findOneBySomeField($allid);
if($type_user == "SuperAdmin" || $type_user == "Client Admin"){
$campaign = $this->getDoctrine()->getRepository('App\Entity\Campaign')->findOneBy(
array('id'=>$id)
);
$allcatid=explode(",", $campaign->getcategoryId());
$datas = $this->getDoctrine()->getRepository('App\Entity\Products')->findOneBySomeField($allcatid);
if(!empty($datas)){
foreach($datas as $key=>$value){
$CustomerVotes= $this->getDoctrine()->getRepository('App\Entity\CustomerVotes')->findBy(
array('product_id'=>$value->getId(),'campaign_id'=>$id),
array('id'=>'desc'),
);
$vote_count =count($CustomerVotes);
$datas[$key]->vote_counts=$vote_count;
}
}
$page='home/manage_product_campaign_result.html.twig';
}else{
$page='security/pagenotfound.html.twig';
$datas = "";
}
return $this->render($page,
array(
// 'form'=>$form->createView(),
'client' => $client,
'datas'=>$datas,
'type_user'=>$type_user,
'roles_client'=>$roles_client,
'implode_pending'=>'',
'implode_assigned'=>'',
'implode_resolved'=>'',
'campaign'=>$campaign,
'id'=>$id,
)
);
}
/**
* @Route("/create_manage_campaign", name="app_create_manage_campaign")
*/
public function create_manage_campaign(Request $request,string $uploadDirtow,FileUploader $uploader)
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$user_id=$user->getId();
$em = $this->getDoctrine()->getManager();
if ($request->getMethod() === "POST") {
if($request->request->get('table_id') !=""){
$files = $request->files->get('image');
if(count($files) <= 6){
if(!empty($files)){
$imgs=array();
$i=1;
foreach ($files as $key => $file) {
// code...
if (!empty($file))
{
$filename = $file->getClientOriginalName();
$extensions=$file->getClientOriginalExtension();
$imagename='images/campaign/product_campaingn_'.$i++.rand(1111,9999).time().'.'.$extensions;
$imgs[]=$imagename;
$uploader->upload($uploadDirtow, $file, $imagename);
}else{
$filename = null;
}
}
$product_image=implode(",", $imgs);
}else{
$product_image=$request->request->get('oldimage');
}
$dates=$request->request->get('dates');
$date=explode ("-", $dates);
$updateRequest = $this->getDoctrine()->getRepository('App\Entity\Campaign')
->find($request->request->get('table_id') );
$updateRequest->setTitle($request->request->get('title') );
$updateRequest->setGoal($request->request->get('goal'));
$updateRequest->setDetails($request->request->get('details'));
$updateRequest->setDescription($request->request->get('description'));
$updateRequest->setCategoryId(implode(",",$request->request->get('category_id')));
$updateRequest->setStartDate(date( "Y-m-d", strtotime($date[0])));
$updateRequest->setEndDate(date( "Y-m-d", strtotime($date[1])));
$updateRequest->setImage($product_image);
$updateRequest->setTotalVotes('0');
$updateRequest->setStatus('1');
$em = $this->getDoctrine()->getManager();
$em->persist($updateRequest);
$em->flush();
if($client->getLang() == 'en'){
$this->addFlash('green', 'Product campaign update successfully..!!');
}else{
$this->addFlash('green', 'Mise à jour réussie de la campagne de produits..!!');
}
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'You are only allowed to upload a maximum of 6 image..!!');
}else{
$this->addFlash('red', 'Vous êtes autorisé à télécharger un maximum de 6 images...!!');
}
}
}else{
$files = $request->files->get('image');
$imgs=array();
$i=1;
foreach ($files as $key => $file) {
// code...
if (!empty($file))
{
$filename = $file->getClientOriginalName();
$extensions=$file->getClientOriginalExtension();
$imagename='images/campaign/product_campaingn_'.$i++.rand(1111,9999).time().'.'.$extensions;
$imgs[]=$imagename;
$uploader->upload($uploadDirtow, $file, $imagename);
}else{
$filename = null;
}
}
// dd($imgs);
$product_image=implode(",", $imgs);
$dates=$request->request->get('dates');
$date=explode ("-", $dates);
$date=explode ("-", $dates);
if (!empty($date)) {
$d1=$date[0];
$d2=$date[1];
} else {
$d1=date('Y-m-d');
$d2=date('Y-m-d');
}
$addRequest = new Campaign;
$addRequest->setTitle($request->request->get('title') );
$addRequest->setGoal($request->request->get('goal'));
$addRequest->setDetails($request->request->get('details'));
$addRequest->setDescription($request->request->get('description'));
$addRequest->setCategoryId(implode(",",$request->request->get('category_id')));
$addRequest->setStartDate(date( "Y-m-d", strtotime($d1)));
$addRequest->setEndDate(date( "Y-m-d", strtotime($d2)));
$addRequest->setImage($product_image);
$addRequest->setTotalVotes('0');
$addRequest->setStatus('1');
$em = $this->getDoctrine()->getManager();
$em->persist($addRequest);
$em->flush();
if($client->getLang() == 'en'){
$this->addFlash('green', 'Product campaign added successfully..!!');
}else{
$this->addFlash('green', 'Campagne produit ajoutée avec succès..!!');
}
}
}
return $this->redirectToRoute('app_manage_campaign');
}
/**
* @Route("/status-campaign/{id}/{status}", name="update_campaign_status")
*/
public function updateRequestcampaignstatus(Campaign $request,$status)
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$em = $this->getDoctrine()->getManager();
$request->setStatus($status);
$em->persist($request);
$em->flush();
if($status == 1){
if($client->getLang() == 'en'){
$this->addFlash('green', 'You have enable the product campaign');
}else{
$this->addFlash('green', 'Vous avez activé la campagne du produit');
}
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'You have disable the product campaign');
}else{
$this->addFlash('red', 'Vous avez désactivé la campagne du produit');
}
}
return $this->redirectToRoute('app_manage_campaign');
}
/**
* @Route("/request-campaign-delete/{id}", name="app_campaign_delete")
*/
public function campaign_delete(Campaign $request,$id)
{
$em = $this->getDoctrine()->getManager();
$request->getId($id);
$em->remove($request);
$em->flush();
$this->addFlash('green','Product campaign deleted successfully..!!');
return $this->redirectToRoute('app_manage_campaign');
}
/**
* @Route("/fraud-complaint", name="app_manage_fraud_complaint")
*/
public function manage_fraud_complaint()
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$type_user=$user->getType();
$allid=explode(",", $user->getRolebyadmin());
$roles_client=$this->getDoctrine()->getRepository('App\Entity\Rolebyadmin')->findOneBySomeField($allid);
if($type_user == "SuperAdmin" || $type_user == "Client Admin"){
$datas = $this->getDoctrine()->getRepository('App\Entity\FraudComplaint')->findBy(
array(),
array('id'=>'desc'),
);
foreach ($datas as $key => $value) {
$pv= $this->getDoctrine()->getRepository('App\Entity\PvDetails')->findOneBy(array('id'=>$value->getFine()));
if ($pv) {
$datas[$key]->fines =$pv;
} else {
$datas[$key]->fines ="";
}
$citys = $this->getDoctrine()->getRepository('App\Entity\City')->findOneBy(
array('id'=>$value->getCity()),
);
if ($citys) {
$datas[$key]->citys =$citys;
} else {
$datas[$key]->citys ="";
}
$fcp= $this->getDoctrine()->getRepository('App\Entity\FraudComplaintProducts')->findBy(array('fraud_com_id'=>$value->getId()));
if ($fcp) {
$datas[$key]->fc_product =$fcp;
} else {
$datas[$key]->fc_product ="";
}
}
$page='home/fraud_complaint.html.twig';
}else{
$page='security/pagenotfound.html.twig';
$datas = "";
}
return $this->render($page,
array(
// 'form'=>$form->createView(),
'client' => $client,
'datas'=>$datas,
'type_user'=>$type_user,
'roles_client'=>$roles_client,
'implode_pending'=>'',
'implode_assigned'=>'',
'implode_resolved'=>'',
)
);
}
/**
* @Route("/team-productivityold/{status}", name="app_team_productivityold")
*/
public function team_productivity_old($status="")
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$type_user=$user->getType();
$allid=explode(",", $user->getRolebyadmin());
$roles_client=$this->getDoctrine()->getRepository('App\Entity\Rolebyadmin')->findOneBySomeField($allid);
if($type_user == "Hypervisor" || $type_user == "Supervisor"){
if($status == "0"){
$datas = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findBy(
array('city_id'=>$user->getCityId(),'compstatus'=>'Pending'),
array('id'=>'desc'),
);
foreach ($datas as $key => $value) {
$agentname = $this->getDoctrine()->getRepository('App\Entity\User')->findOneBy(array('id'=>$value->getAgentid(),'type'=>'Agent'),
array('id'=>'desc'),);
$datas[$key]->agent_name=$agentname;
}
$status="0";
}elseif($status == "1"){
$datas = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findBy(
array('city_id'=>$user->getCityId(),'status'=>'1'),
array('id'=>'desc'),
);
foreach ($datas as $key => $value) {
$agentname = $this->getDoctrine()->getRepository('App\Entity\User')->findOneBy(array('id'=>$value->getAgentid(),'type'=>'Agent'),
array('id'=>'desc'),);
$datas[$key]->agent_name=$agentname;
}
$status="1";
}elseif($status == "2"){
$datas = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findBy(
array('city_id'=>$user->getCityId(),'compstatus'=>'Resolved'),
array('id'=>'desc'),
);
foreach ($datas as $key => $value) {
$agentname = $this->getDoctrine()->getRepository('App\Entity\User')->findOneBy(array('id'=>$value->getAgentid(),'type'=>'Agent'),
array('id'=>'desc'),);
$datas[$key]->agent_name=$agentname;
}
$status="2";
}else{
$datas = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findBy(
array('city_id'=>$user->getCityId()),
array('id'=>'desc'),
);
foreach ($datas as $key => $value) {
$agentname = $this->getDoctrine()->getRepository('App\Entity\User')->findOneBy(array('id'=>$value->getAgentid(),'type'=>'Agent'),
array('id'=>'desc'),);
$datas[$key]->agent_name=$agentname;
}
$status="";
}
$page='hypervisor/team_productivity.html.twig';
}else{
$page='security/pagenotfound.html.twig';
$datas = "";
$status="";
}
return $this->render($page,
array(
'client' => $client,
'datas'=>$datas,
'type_user'=>$type_user,
'roles_client'=>$roles_client,
'implode_pending'=>'',
'implode_assigned'=>'',
'implode_resolved'=>'',
'status'=>$status,
)
);
}
/**
* @Route("/team-productivity", name="app_team_productivity")
*/
public function team_productivity()
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$type_user=$user->getType();
$allid=explode(",", $user->getRolebyadmin());
$roles_client=$this->getDoctrine()->getRepository('App\Entity\Rolebyadmin')->findOneBySomeField($allid);
if($type_user == "Hypervisor" || $type_user == "Supervisor"){
/*January start*/
$Pending_jan = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"0",$user->getCityId(),"1",date('Y')
);
$Pending_jan_count=count($Pending_jan);
$assigned_jan = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"1",$user->getCityId(),"1",date('Y')
);
$assigned_jan_count=count($assigned_jan);
$Resolved_jan = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"2",$user->getCityId(),"1",date('Y')
);
$Resolved_jan_count=count($Resolved_jan);
/*January end*/
/*February start*/
$Pending_feb = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"0",$user->getCityId(),"2",date('Y')
);
$Pending_feb_count=count($Pending_feb);
$assigned_feb = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"1",$user->getCityId(),"2",date('Y')
);
$assigned_feb_count=count($assigned_feb);
$Resolved_feb = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"2",$user->getCityId(),"2",date('Y')
);
$Resolved_feb_count=count($Resolved_feb);
/*February end*/
/*March start*/
$Pending_march = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"0",$user->getCityId(),"3",date('Y')
);
$Pending_march_count=count($Pending_march);
$assigned_march = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"1",$user->getCityId(),"3",date('Y')
);
$assigned_march_count=count($assigned_march);
$Resolved_march = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"2",$user->getCityId(),"3",date('Y')
);
$Resolved_march_count=count($Resolved_march);
/*March end*/
/*April start*/
$Pending_april = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"0",$user->getCityId(),"4",date('Y')
);
$Pending_april_count=count($Pending_april);
$assigned_april = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"1",$user->getCityId(),"4",date('Y')
);
$assigned_april_count=count($assigned_april);
$Resolved_april = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"2",$user->getCityId(),"4",date('Y')
);
$Resolved_april_count=count($Resolved_april);
/*April end*/
/*May start*/
$Pending_may = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"0",$user->getCityId(),"5",date('Y')
);
$Pending_may_count=count($Pending_may);
$assigned_may = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"1",$user->getCityId(),"5",date('Y')
);
$assigned_may_count=count($assigned_may);
$Resolved_may = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"2",$user->getCityId(),"5",date('Y')
);
$Resolved_may_count=count($Resolved_may);
/*May end*/
/*June start*/
$Pending_june = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"0",$user->getCityId(),"6",date('Y')
);
$Pending_june_count=count($Pending_june);
$assigned_june = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"1",$user->getCityId(),"6",date('Y')
);
$assigned_june_count=count($assigned_june);
$Resolved_june = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"2",$user->getCityId(),"6",date('Y')
);
$Resolved_june_count=count($Resolved_june);
/*June end*/
/*July start*/
$Pending_july = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"0",$user->getCityId(),"7",date('Y')
);
$Pending_july_count=count($Pending_july);
$assigned_july = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"1",$user->getCityId(),"7",date('Y')
);
$assigned_july_count=count($assigned_july);
$Resolved_july = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"2",$user->getCityId(),"7",date('Y')
);
$Resolved_july_count=count($Resolved_july);
/*July end*/
/*August start*/
$Pending_aug = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"0",$user->getCityId(),"8",date('Y')
);
$Pending_aug_count=count($Pending_aug);
$assigned_aug = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"1",$user->getCityId(),"8",date('Y')
);
$assigned_aug_count=count($assigned_aug);
$Resolved_aug = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"2",$user->getCityId(),"8",date('Y')
);
$Resolved_aug_count=count($Resolved_aug);
/*August end*/
/*September start*/
$Pending_sep = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"0",$user->getCityId(),"9",date('Y')
);
$Pending_sep_count=count($Pending_sep);
$assigned_sep = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"1",$user->getCityId(),"9",date('Y')
);
$assigned_sep_count=count($assigned_sep);
$Resolved_sep = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"2",$user->getCityId(),"9",date('Y')
);
$Resolved_sep_count=count($Resolved_sep);
/*September end*/
/*October start*/
$Pending_oct = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"0",$user->getCityId(),"10",date('Y')
);
$Pending_oct_count=count($Pending_oct);
$assigned_oct = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"1",$user->getCityId(),"10",date('Y')
);
$assigned_oct_count=count($assigned_oct);
$Resolved_oct = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"2",$user->getCityId(),"10",date('Y')
);
$Resolved_oct_count=count($Resolved_oct);
/*October end*/
/*November start*/
$Pending_nov = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"0",$user->getCityId(),"11",date('Y')
);
$Pending_nov_count=count($Pending_nov);
$assigned_nov = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"1",$user->getCityId(),"11",date('Y')
);
$assigned_nov_count=count($assigned_nov);
$Resolved_nov = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"2",$user->getCityId(),"11",date('Y')
);
$Resolved_nov_count=count($Resolved_nov);
/*November end*/
/*December start*/
$Pending_dec = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"0",$user->getCityId(),"12",date('Y')
);
$Pending_dec_count=count($Pending_dec);
$assigned_dec = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"1",$user->getCityId(),"12",date('Y')
);
$assigned_dec_count=count($assigned_dec);
$Resolved_dec = $this->getDoctrine()->getRepository('App\Entity\Complaint')->findByMonthYear(
"2",$user->getCityId(),"12",date('Y')
);
$Resolved_dec_count=count($Resolved_dec);
/*December end*/
$all_pending=[$Pending_jan_count,$Pending_feb_count,$Pending_march_count,$Pending_april_count,$Pending_may_count,$Pending_june_count,$Pending_july_count,$Pending_aug_count,$Pending_sep_count,$Pending_oct_count,$Pending_nov_count,$Pending_dec_count];
$implode_pending=implode(',', $all_pending);
$all_assigned=[$assigned_jan_count,$assigned_feb_count,$assigned_march_count,$assigned_april_count,$assigned_may_count,$assigned_june_count,$assigned_july_count,$assigned_aug_count,$assigned_sep_count,$assigned_oct_count,$assigned_nov_count,$assigned_dec_count];
$implode_assigned=implode(',', $all_assigned);
$all_resolved=[$Resolved_jan_count,$Resolved_feb_count,$Resolved_march_count,$Resolved_april_count,$Resolved_may_count,$Resolved_june_count,$Resolved_july_count,$Resolved_aug_count,$Resolved_sep_count,$Resolved_oct_count,$Resolved_nov_count,$Resolved_dec_count];
$implode_resolved=implode(',', $all_resolved);
$page='hypervisor/team_productivity.html.twig';
}else{
$page='security/pagenotfound.html.twig';
}
return $this->render($page,
array(
'client' => $client,
'type_user'=>$type_user,
'roles_client'=>$roles_client,
'implode_pending'=>$implode_pending,
'implode_assigned'=>$implode_assigned,
'implode_resolved'=>$implode_resolved,
)
);
}
/**
* @Route("/purchase-voucher", name="app_manage_purchase_voucher")
*/
public function manage_purchase_voucher()
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$user = $this->getUser();
$type_user=$user->getType();
$allid=explode(",", $user->getRolebyadmin());
$roles_client=$this->getDoctrine()->getRepository('App\Entity\Rolebyadmin')->findOneBySomeField($allid);
if($type_user == "Financial Manager"){
$page='financial/purchase_voucher.html.twig';
$datas = $this->getDoctrine()->getRepository('App\Entity\FraudComplaint')->findBy(
array('city'=>$user->getCityId()),
array('id'=>'desc'),
);
foreach ($datas as $key => $value) {
$fines = $this->getDoctrine()->getRepository('App\Entity\PvDetails')->findOneBy(array('id'=>$value->getFine()));
if(!empty($fines)){
$datas[$key]->fines=$fines;
}else{
$datas[$key]->fines="";
}
$citys = $this->getDoctrine()->getRepository('App\Entity\City')->findOneBy(
array('id'=>$value->getCity()),
);
if(!empty($fines)){
$datas[$key]->citys=$citys;
}else{
$datas[$key]->citys="";
}
$fc_product = $this->getDoctrine()->getRepository('App\Entity\FraudComplaintProducts')->findBy(
array('fraud_com_id'=>$value->getId()),
);
if(!empty($fines)){
$datas[$key]->fc_product=$fc_product;
}else{
$datas[$key]->fc_product="";
}
}
}elseif($type_user == "Hypervisor"){
$page='hypervisor/purchase_voucher.html.twig';
$datas = $this->getDoctrine()->getRepository('App\Entity\FraudComplaint')->findBy(
array('city'=>$user->getCityId()),
array('id'=>'desc'),
);
foreach ($datas as $key => $value) {
$fines = $this->getDoctrine()->getRepository('App\Entity\PvDetails')->findOneBy(array('id'=>$value->getFine()));
if(!empty($fines)){
$datas[$key]->fines=$fines;
}else{
$datas[$key]->fines="";
}
$citys = $this->getDoctrine()->getRepository('App\Entity\City')->findOneBy(
array('id'=>$value->getCity()),
);
if(!empty($fines)){
$datas[$key]->citys=$citys;
}else{
$datas[$key]->citys="";
}
$fc_product = $this->getDoctrine()->getRepository('App\Entity\FraudComplaintProducts')->findBy(
array('fraud_com_id'=>$value->getId()),
);
if(!empty($fines)){
$datas[$key]->fc_product=$fc_product;
}else{
$datas[$key]->fc_product="";
}
}
}elseif($type_user == "Supervisor"){
$page='supervisor/purchase_voucher.html.twig';
$datas = $this->getDoctrine()->getRepository('App\Entity\FraudComplaint')->findBy(
array('city'=>$user->getCityId()),
array('id'=>'desc'),
);
foreach ($datas as $key => $value) {
$fines = $this->getDoctrine()->getRepository('App\Entity\PvDetails')->findOneBy(array('id'=>$value->getFine()));
if(!empty($fines)){
$datas[$key]->fines=$fines;
}else{
$datas[$key]->fines="";
}
$citys = $this->getDoctrine()->getRepository('App\Entity\City')->findOneBy(
array('id'=>$value->getCity()),
);
if(!empty($fines)){
$datas[$key]->citys=$citys;
}else{
$datas[$key]->citys="";
}
$fc_product = $this->getDoctrine()->getRepository('App\Entity\FraudComplaintProducts')->findBy(
array('fraud_com_id'=>$value->getId()),
);
if(!empty($fines)){
$datas[$key]->fc_product=$fc_product;
}else{
$datas[$key]->fc_product="";
}
}
}else{
$page='security/pagenotfound.html.twig';
$datas="";
}
return $this->render($page,
array(
// 'form'=>$form->createView(),
'client' => $client,
'datas'=>$datas,
'type_user'=>$type_user,
'roles_client'=>$roles_client,
'implode_pending'=>'',
'implode_assigned'=>'',
'implode_resolved'=>'',
)
);
}
/**
* @Route("/update-paid-unpaid-status/{id}/{status}", name="update_paid_unpaid")
*/
public function update_paid_unpaid($id,$status, \Swift_Mailer $mailer)
{
if ($this->getUser()) {
$client = $this->getUser();
} else {
return $this->redirectToRoute('user_login');
}
$em = $this->getDoctrine()->getManager();
$updateRequest = $this->getDoctrine()->getRepository('App\Entity\FraudComplaint')->find($id);
$updateRequest->setStatus($status);
$updateRequest->setFinePaidDate(date( "Y-m-d", strtotime(date('Y-m-d'))));
$em->persist($updateRequest);
$em->flush();
if($status == 1){
if($client->getLang() == 'en'){
$this->addFlash('green', 'You have change to paid status of this purchase voucher');
}else{
$this->addFlash('green', "Vous avez changé le statut de ce bon d'achat en statut payé.");
}
}else{
if($client->getLang() == 'en'){
$this->addFlash('red', 'You have change to unpaid status of this purchase voucher');
}else{
$this->addFlash('red', "Vous avez changé le statut de ce bon d'achat en statut non payé.");
}
$fraudcomplaint = $this->getDoctrine()->getRepository('App\Entity\FraudComplaint')->find($id);
$pv= $this->getDoctrine()->getRepository('App\Entity\PvDetails')->findOneBy(array('id'=>$fraudcomplaint->getFine()));
if ($pv) {
$fines =$pv->getAmount();
} else {
$fines ="0";
}
$sendTo = $fraudcomplaint->getEmail();
$sendCc = 'santosh.jaiswal.espl@gmail.com';
$mailArray = array(
'email' => 'infos-compte@konsoplus.com',
'name' => $fraudcomplaint->getShopkeeperName(),
'receipt_no' => $fraudcomplaint->getReceiptNo(),
'amount' => $fines,
'date' => $fraudcomplaint->getFcdate()
);
if ($sendTo != "") {
$mail = $this->mailer->sendEmailMessage(
'Renouveler votre mot de passe',
"Konso+",
$sendTo,
$sendCc,
null,
'security/payment_remind.html.twig',
$mailArray
);
}
}
return $this->redirectToRoute('app_manage_purchase_voucher');
}
/**
* @Route("/request-city/", name="app_get_city")
*/
public function get_citys(Request $request)
{
if($request->request->get('province'))
{
$result = $this->getDoctrine()->getRepository('App\Entity\City')->findBy(array('province_id'=>$request->request->get('province')),array('name'=>'asc'));
}
return $this->json($result);
}
/**
* @Route("/request-category-list/", name="app_get_dropdown_category")
*/
public function get_dropdown_category()
{
$result = $this->getDoctrine()->getRepository('App\Entity\Categorie')->findAll(array(),array('id'=>'desc'));
return $this->json($result);
}
/**
* @Route("/request-subcategory/", name="app_get_subcategory")
*/
public function get_subcategory(Request $request)
{
if($request->request->get('category'))
{
$result = $this->getDoctrine()->getRepository('App\Entity\Subcategorie')->findBy(array('category_id'=>$request->request->get('category'),'status' => true),array('id'=>'desc'));
}
return $this->json($result);
}
/**
* @Route("/request-validate-email/", name="app_validate_email")
*/
public function validate_email(Request $request)
{
if($request->request->get('email'))
{
$result = $this->getDoctrine()->getRepository('App\Entity\User')->findBy(array('email'=>$request->request->get('email')),array('id'=>'desc'));
}
return $this->json($result);
}
/**
* @Route("/request-agentgroup/", name="app_get_agentgroup")
*/
public function get_agentgroup(Request $request)
{
if($request->request->get('city'))
{
$result = $this->getDoctrine()->getRepository('App\Entity\AgentGroup')->findBy(array('city_id'=>$request->request->get('city'),'status' => true),array('id'=>'desc'));
}
return $this->json($result);
}
/**
* @Route("/request-get-products/", name="app_get_products")
*/
public function get_products(Request $request)
{
if($request->request->get('category'))
{
$result = $this->getDoctrine()->getRepository('App\Entity\Products')->findBy(array('category_id'=>$request->request->get('category')));
}
return $this->json($result);
}
}