Example #1
0
 public function packagesAction(Request $request)
 {
     $user = $this->get('security.token_storage')->getToken()->getUser();
     $data_package = new Entity\data_package($user);
     $form = $this->createFormBuilder($data_package)->add('kbytes', IntegerType::class, array('required' => true, 'attr' => array('style' => 'width: 100px', 'maxlength' => '10', 'min' => '100000', 'step' => '100000'), 'label' => 'Balance in KB'))->add('start', DateType::class)->add('end', DateType::class)->add('Active', SubmitType::class, array('label' => 'Activate'))->getForm();
     $form->handleRequest($request);
     if ($form->isSubmitted() && $form->isValid()) {
         // ... perform some action, such as saving the task to the database
         $inserter = new DQL\InsertData($this);
         $inserter->activatePackage($data_package);
         return $this->redirect($request->getUri());
     }
     $fetcher = new DQL\FetchData($this);
     return $this->render('dashboard/settings/packages.html.twig', array('form' => $form->createView(), 'runningPackage' => $fetcher->getRunningDataPackage()));
 }
Example #2
0
 public function newAction(Request $request, $zone, $mac, $name, $package, $msg)
 {
     if (strlen($name) < 2 || strlen($package) < 4) {
         return new Response("INVALID");
     }
     $inserter = new DQL\InsertData($this, true);
     if ($inserter->addNewRequest($zone, $mac, $name, $package, $msg)) {
         return new Response("OK");
     } else {
         return new Response("ERROR");
     }
 }
Example #3
0
 public function packageChangeAction(Request $request)
 {
     $fetcher = new DQL\FetchData($this);
     $json = $request->request->get("data");
     $packages = json_decode($json);
     $sum = array_reduce($packages, function ($i, $obj) {
         return $i += $obj->package;
     });
     $total = $fetcher->getRunningDataPackage()->getKbytes() / 1000000;
     if ($total < $sum) {
         return new Response("<p><b>Error</b></p><p>You can't exceed master package limit.</p>");
     }
     $inserter = new DQL\InsertData($this);
     $user = $this->get('security.token_storage')->getToken()->getUser();
     $zone = $user->getZone();
     foreach ($packages as $p) {
         $inserter->updateClientPackage($p->sid, $zone, $p->package * 1000000);
     }
     return new Response("<p><b>Success</b></p><p>Slave packages are updated.</p>");
 }