예제 #1
0
파일: Dokumen.php 프로젝트: komaltech/p2bj
 /**
  * @param $description
  * @param UploadedFile $file
  * @param Paket $paket
  * @return Dokumen
  */
 public static function create($description, UploadedFile $file, Paket $paket)
 {
     $fileName = uniqid() . '.' . $file->guessExtension();
     $dokumen = new Dokumen();
     $dokumen->setCreatedAt(new \DateTime());
     $dokumen->setDescription($description);
     $dokumen->setFile($file);
     $dokumen->setFilename($fileName);
     $dokumen->setPaket($paket);
     return $dokumen;
 }
 /**
  * {@inheritDoc}
  */
 public function timestampableUpdateEvent()
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, 'timestampableUpdateEvent', array());
     return parent::timestampableUpdateEvent();
 }
예제 #3
0
 /**
  * @param Request $request
  * @return mixed
  */
 public function skpdAction(Request $request)
 {
     $skpdForm = new SkpdForm();
     $formBuilder = $this->app['form.factory']->create($skpdForm, $skpdForm);
     if ($request->getMethod() === 'GET') {
         return $this->app['twig']->render('skpd.twig', ['form' => $formBuilder->createView()]);
     }
     $formBuilder->handleRequest($request);
     if (!$formBuilder->isValid()) {
         return $this->app['twig']->render('skpd.twig', ['form' => $formBuilder->createView()]);
     }
     $infoPaket = new InfoPaket();
     $infoPaket->setNamaPaket($skpdForm->getNamaPaket());
     $infoPaket->setSumberDana($skpdForm->getSumberDana());
     $infoPaket->setTahunAggaran($skpdForm->getTahunAnggaran());
     $infoPaket->setPaguAnggaran($skpdForm->getPaguAnggraran());
     $infoPaket->setKodeRekening($skpdForm->getKodeRekening());
     $infoPaket->setKodeRup($skpdForm->getKodeRup());
     $infoPaket->setJenisPembayaran($skpdForm->getJenisPembayaran());
     /**
      * @var User
      */
     $user = $this->app['user.repository']->findByUsername($this->app['session']->get('username')['value']);
     $files = new ArrayCollection();
     $paket = Paket::create($user, $infoPaket, $files);
     $files->add(Dokumen::create('Surat Permintaan Lelang dan SKPD', $skpdForm->getDokumenSuratPermintaanLelang(), $paket));
     $files->add(Dokumen::create('Hasil Perkiraan Sendiri', $skpdForm->getDokumenHasilPerkiraanSendiri(), $paket));
     $files->add(Dokumen::create('Cetak RUP', $skpdForm->getDokumenCetakRup(), $paket));
     $files->add(Dokumen::create('Kerangka Acuan Kerja', $skpdForm->getDokumenKerangkaAcuanKerja(), $paket));
     $files->add(Dokumen::create('Daftar Kuantitas', $skpdForm->getDokumenDaftarKuantitas(), $paket));
     $files->add(Dokumen::create('Spesifikasi Teknis', $skpdForm->getDokumenSpesifikasiTeknis(), $paket));
     $files->add(Dokumen::create('Gambar', $skpdForm->getDokumenGambar(), $paket));
     $files->add(Dokumen::create('Rancangan Kontrak', $skpdForm->getDokumenRancanganKontrak(), $paket));
     $files->add(Dokumen::create('Syarat-Syarat Umum Kontrak', $skpdForm->getDokumenSyaratSyaratUmumKontrak(), $paket));
     $files->add(Dokumen::create('Syarat-Sayarat Khusus Kontrak', $skpdForm->getDokumenSyaratSyaratKhususKontrak(), $paket));
     $files->add(Dokumen::create('Dokumen Pendukung Lain', $skpdForm->getDokumenPendukungLain(), $paket));
     $paket->setDokumen($files);
     $this->app['orm.em']->persist($paket);
     $this->app['orm.em']->flush();
     /**
      * move uploaded file
      */
     $dirName = $this->app['dokumen.path'] . '/' . $paket->getId();
     mkdir($dirName, 0755);
     foreach ($files as $dokumen) {
         /**
          * @var Dokumen $dokumen
          */
         $dokumen->getFile()->move($dirName, $dokumen->getFilename());
     }
     $this->app['session']->getFlashBag()->add('message_success', 'Sukses Mengajukan Paket');
     return $this->app['twig']->render('skpd.twig', ['form' => $formBuilder->createView()]);
 }