123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830 |
- <?php
-
- namespace App\Http\Controllers\Main;
-
- use Illuminate\Http\Request;
- use App\Http\Controllers\Controller;
- use Illuminate\Support\Facades\Auth;
- use LynX39\LaraPdfMerger\Facades\PdfMerger;
-
- use Carbon\Carbon;
- use Validator;
- use PDF;
- use File;
-
- use App\SiteSetting;
- use App\Model\Staff;
- use App\Model\StaffDetail;
- use App\Model\Module\Department;
- use App\Model\Module\Roles;
- use App\Model\Module\TemplateNotice;
- use App\Model\Module\LetterNotice;
- use App\Model\Module\Attachment;
- use App\Model\Module\Faulty;
- use App\Model\Module\Memo;
- use App\Model\Module\Compound;
- use App\Model\Module\ConfidentialFile;
- use App\Model\Module\History;
- use App\Model\Module\SubHistory;
- use App\Model\Module\ApiKey;
- use App\Model\Module\ApiIntegration;
-
- use App\Jobs\UpdateCompoundPrice;
-
- class SettingController extends Controller
- {
- /**
- * Create a memo list controller.
- *
- * @return json
- */
-
- public function memoIndex(){
- $id = Auth::guard('sadmin')->id();
- $user = Staff::with('StaffDetail')->find($id);
- $site = SiteSetting::first();
- return view('main-dashboard.setting.memo_index',compact('user','site'));
- }
-
- public function memoAdd(){
- $id = Auth::guard('sadmin')->id();
- $user = Staff::with('StaffDetail')->find($id);
- $department = Department::all();
- $roles = Roles::all();
- $site = SiteSetting::first();
- return view('main-dashboard.setting.memo_detail_add',compact('user','department','roles','site'));
- }
-
- public function requestAddMemo(Request $request) {
-
- $id = Auth::guard('sadmin')->id();
- $user = Staff::with('StaffDetail')->find($id);
-
- $validator = Validator::make($request->all(), [
- 'tawaran' => ['required','regex:/^100+%$|[0-9]+%/'],
- 'attachment.*' => 'mimes:pdf|max:2048',
- ]);
-
- if ($validator->fails()) {
- return redirect()->back()->withInput()->withErrors($validator);
- }
-
- $kesalahan = $request->get('kesalahan');
- if(!empty($kesalahan)){
-
- $sahkan = '';
- if($user->StaffDetail->roles_access == "Ketua Jabatan"){
- $sahkan = $user->_id;
- }
-
- $faulty = Faulty::where('itkod', $request->get('kesalahan'))->first();
- if(!empty($faulty)){
-
- if($request->hasfile('attachment')){
-
- $memo = Memo::create([
- 'itkod' => $request->get('kesalahan'),
- 'modul' => $request->get('kategori_modul'),
- 'jenis_memo' => $request->get('jenis_memo'),
- 'no_rujukan' => $request->get('no_rujukan'),
- 'tawaran_kompaun' => $request->get('tawaran'),
- 'tarikh_mula' => $request->get('tarikh_mula'),
- 'tarikh_akhir' => $request->get('tarikh_akhir'),
- 'dikeluarkan' => $user->_id,
- 'disahkan' => $sahkan,
- 'jenis_data' => 'pdf',
- 'subjek' => $request->get('subjek'),
- 'penerangan' => $request->get('penerangan'),
- ]);
-
- $upload = [];
- foreach($request->file('attachment') as $f){
- $upload[] = [
- 'name' => 'file[]',
- 'contents' => fopen( $f->getPathname(), 'r' ),
- 'filename' => $f->getClientOriginalName()
- ];
- }
-
- $upload [] = [
- 'name' => 'type',
- 'contents' => 'mbip'
- ];
-
- $client = new \GuzzleHttp\Client();
- $result = $client->request('POST', 'https://files.sipadu.my/api/upload/memo/pdf', [
- 'multipart' => $upload
- ]);
-
-
- $response = json_decode($result->getBody()->getContents());
- if($response->success == true){
- foreach ($response->data as $key => $d) {
- $attach = new Attachment();
- $attach->path = $d;
- $memo->attachment()->save($attach);
- }
- }else if($response->success == false){
- return redirect()->back()->with('error_msg', '<strong>Gagal!</strong> memuatnaik pdf');
- }
-
- if($sahkan != ''){
- $kpd = 'null';
- $this->dispatch(new UpdateCompoundPrice($kpd));
- }
- return redirect()->back()->with('success_msg', '<strong>Berjaya!</strong> Simpan rekod memo di kategori akta kesalahan <strong>('.$faulty->nama.')</strong>');
-
- }else{
-
- $memo = Memo::create([
- 'itkod' => $request->get('kesalahan'),
- 'modul' => $request->get('kategori_modul'),
- 'jenis_memo' => $request->get('jenis_memo'),
- 'no_rujukan' => $request->get('no_rujukan'),
- 'tawaran_kompaun' => $request->get('tawaran'),
- 'tarikh_mula' => $request->get('tarikh_mula'),
- 'tarikh_akhir' => $request->get('tarikh_akhir'),
- 'dikeluarkan' => $user->_id,
- 'disahkan' => $sahkan,
- 'jenis_data' => 'manual',
- 'subjek' => $request->get('subjek'),
- 'penerangan' => $request->get('penerangan'),
- ]);
-
- if($sahkan != ''){
- $kpd = 'null';
- $this->dispatch(new UpdateCompoundPrice($kpd));
- }
-
- return redirect()->back()->with('success_msg', '<strong>Berjaya!</strong> Simpan rekod memo di kategori akta kesalahan <strong>('.$faulty->nama.')</strong>');
- }
-
- }else{
- return redirect()->back()->withInput()->with('error_msg','<strong>Tidak Berjaya Simpan Rekod!</strong> Rekod Akta Kesalahan <b>'.$request->get('kesalahan').'</b> tidak ditemui');
- }
-
- }else {
- return redirect()->back()->withInput()->with('error_msg','<strong>Tidak Berjaya Simpan Rekod!</strong> Pastikan anda pilih ketegori/akta kesalahan untuk memo berjalan dengan lancar');
- }
- }
-
- public function memoEdit($_id){
- $id = Auth::guard('sadmin')->id();
- $user = Staff::with('StaffDetail')->find($id);
- $department = Department::all();
- $roles = Roles::all();
-
- $memo = Memo::where('_id',$_id)->first();
- $faulty = Faulty::where('itkod',$memo->itkod)->first();
- $site = SiteSetting::first();
- return view('main-dashboard.setting.memo_detail_edit',compact('user','department','roles','memo','faulty','site'));
- }
-
- public function requestEditMemo(Request $request) {
- $id = Auth::guard('sadmin')->id();
- $user = Staff::with('StaffDetail')->find($id);
-
- $validator = Validator::make($request->all(), [
- 'tawaran' => ['required','regex:/^100+%$|[0-9]+%/'],
- 'attachment.*' => 'mimes:pdf|max:2048',
- ]);
-
- if ($validator->fails()) {
- return redirect()->back()->withInput()->withErrors($validator);
- }
-
- $sahkan = '';
- if($user->StaffDetail->roles_access == "Ketua Jabatan"){
- $sahkan = $user->_id;
- }
-
- $memo = Memo::with('Attachment')->where('_id',$request->memo_id)->first();
- $now = Carbon::now();
- $gDate = $now->format('F Y');
- if(!empty($memo)){
- $faulty = Faulty::where('itkod', $memo->itkod)->first();
- if(!empty($faulty)){
-
- if($request->hasfile('attachment')){
-
- $uploadNew = false;
- if($memo->jenis_data == "pdf"){
- foreach ($memo->Attachment as $m) {
- $m->delete();
- }
- $uploadNew = true;
- }else if($memo->jenis_data == "manual"){
- $uploadNew = true;
- }
-
- if($uploadNew == true){
-
- $memo->jenis_memo = $request->get('jenis_memo');
- $memo->no_rujukan = $request->get('no_rujukan');
- $memo->tawaran_kompaun = $request->get('tawaran');
- $memo->tarikh_mula = $request->get('tarikh_mula');
- $memo->tarikh_akhir = $request->get('tarikh_akhir');
- $memo->dikeluarkan = $user->_id;
- $memo->jenis_data = 'pdf';
- $memo->subjek = $request->get('subjek');
- $memo->penerangan = $request->get('penerangan');
- $memo->save();
-
- $upload = [];
- foreach($request->file('attachment') as $f){
- $upload[] = [
- 'name' => 'file[]',
- 'contents' => fopen( $f->getPathname(), 'r' ),
- 'filename' => $f->getClientOriginalName()
- ];
- }
-
- $upload [] = [
- 'name' => 'type',
- 'contents' => 'mbip'
- ];
-
- $client = new \GuzzleHttp\Client();
- $result = $client->request('POST', 'https://files.sipadu.my/api/upload/memo/pdf', [
- 'multipart' => $upload
- ]);
-
-
- $response = json_decode($result->getBody()->getContents());
- if($response->success == true){
- foreach ($response->data as $key => $d) {
- $attach = new Attachment();
- $attach->path = $d;
- $memo->attachment()->save($attach);
- }
- }else if($response->success == false){
- return redirect()->back()->with('error_msg', '<strong>Gagal!</strong> memuatnaik pdf');
- }
-
- $compound = Compound::with('ConfidentialFile')->where('seksyen_kesalahan', $memo->itkod)->get();
- $faulty = Faulty::where('itkod', $memo->itkod )->first();
- if(count($compound) > 0){
-
- $historyData = [
- 'tarikh_kumpulan' => $gDate,
- ];
-
- foreach($compound as $c){
- $subHistory = [
- 'no_siri' => $c->ConfidentialFile->no_siri,
- 'tajuk' => "Kemaskini Memo[ ".$memo->no_rujukan." ] : ".$memo->subjek,
- 'huraian' => "Memo ini telah dikemaskini oleh ".$user->roles_access." <a href='".url('/main/staff')."/".$user->_id."/profile'>".$user->StaffDetail->full_name."</a>.",
- ];
-
- $groupByDate = History::where('tarikh_kumpulan', $gDate)->first();
- if(!empty($groupByDate)){
- $groupByDate->subhistory()->create($subHistory);
- $c->ConfidentialFile->history()->attach($groupByDate);
- }else{
- $history = History::create($historyData);
- $history->subhistory()->create($subHistory);
- $c->ConfidentialFile->history()->attach($history);
- }
- }
- }
-
- if($memo->disahkan != ''){
- $kpd = 'null';
- $this->dispatch(new UpdateCompoundPrice($kpd));
- }
-
- return redirect()->back()->with('success_msg', '<strong>Berjaya!</strong> Kemaskini rekod memo di kategori akta kesalahan <strong>('.$faulty->nama.')</strong>');
- }
- }else{
-
- $uploadNew = false;
- if($memo->jenis_data == "pdf"){
- foreach ($memo->Attachment as $m) {
- $m->delete();
- }
- $uploadNew = true;
- }else if($memo->jenis_data == "manual"){
- $uploadNew = true;
- }
-
- if($uploadNew == true){
- $memo->jenis_memo = $request->get('jenis_memo');
- $memo->no_rujukan = $request->get('no_rujukan');
- $memo->tawaran_kompaun = $request->get('tawaran');
- $memo->tarikh_mula = $request->get('tarikh_mula');
- $memo->tarikh_akhir = $request->get('tarikh_akhir');
- $memo->dikeluarkan = $user->_id;
- $memo->jenis_data = 'manual';
- $memo->subjek = $request->get('subjek');
- $memo->penerangan = $request->get('penerangan');
- $memo->save();
-
- $compound = Compound::with('ConfidentialFile')->where('seksyen_kesalahan', $memo->itkod)->get();
- $faulty = Faulty::where('itkod', $memo->itkod )->first();
- if(count($compound) > 0){
-
- $historyData = [
- 'tarikh_kumpulan' => $gDate,
- ];
-
- foreach($compound as $c){
- $subHistory = [
- 'no_siri' => $c->ConfidentialFile->no_siri,
- 'tajuk' => "Kemaskini Memo[ ".$memo->no_rujukan." ] : ".$memo->subjek,
- 'huraian' => "Memo ini telah dikemaskini oleh ".$user->roles_access." <a href='".url('/main/staff')."/".$user->_id."/profile'>".$user->StaffDetail->full_name."</a>.",
- ];
-
- $groupByDate = History::where('tarikh_kumpulan', $gDate)->first();
- if(!empty($groupByDate)){
- $groupByDate->subhistory()->create($subHistory);
- $c->ConfidentialFile->history()->attach($groupByDate);
- }else{
- $history = History::create($historyData);
- $history->subhistory()->create($subHistory);
- $c->ConfidentialFile->history()->attach($history);
- }
- }
- }
-
- if($memo->disahkan != ''){
- $kpd = 'null';
- $this->dispatch(new UpdateCompoundPrice($kpd));
- }
-
- return redirect()->back()->with('success_msg', '<strong>Berjaya!</strong> Kemaskini rekod memo di kategori akta kesalahan <strong>('.$faulty->nama.')</strong>');
- }
- }
-
- }else{
- return redirect()->back()->withInput()->with('error_msg','<strong>Tidak Berjaya Kemaskini Rekod!</strong> Rekod Akta Kesalahan <b>'.$request->get('kesalahan').'</b> tidak ditemui');
- }
- }else{
- return redirect()->back()->withInput()->with('error_msg','<strong>Tidak Berjaya Kemaskini Rekod!</strong> Rekod memo tidak ditemui');
- }
- }
-
- public function requestViewMemoPdf($_id) {
-
- $site = SiteSetting::first();
- $memo = Memo::with('Attachment')->where('_id',$_id)->first();
-
- $staffD = Staff::with('StaffDetail')->where('_id',$memo->dikeluarkan)->first();
- $staffS = Staff::with('StaffDetail')->where('_id',$memo->disahkan)->first();
- $kesalahan = Faulty::where('itkod', $memo->itkod)->first();
-
- $dikeluarkan = ''; $disahkan = ''; $faulty = ''; $modul = '';
- if(!empty($staffD)){
- $dikeluarkan = $staffD->StaffDetail->full_name;
- }
-
- if(!empty($staffS)){
- $disahkan = $staffD->StaffDetail->full_name;
- }
-
- if(!empty($kesalahan)){
- $faulty ='['.$kesalahan->itkod.'] '.$kesalahan->nama;
- }
-
- if($memo->modul != '-'){
- $r = Roles::where('kod',$memo->modul)->first();
- if(!empty($r)){
- $modul = $r->name;
- }
- }
-
- $update = Carbon::parse($memo->updated)->toDateTimeString();
- $mula = date('d/m/Y h:i a', strtotime($memo->tarikh_mula));
- $akhir = date('d/m/Y', strtotime($memo->tarikh_akhir));
-
- $pdf = PDF::loadView('pdf.memo', compact('memo','dikeluarkan','disahkan','update','mula','akhir','faulty','modul','site'));
- $pdf->setPaper('A4', 'potrait');
-
- $destinationPath = 'document/memo';
- if(!File::exists(public_path().'/'.$destinationPath)) {
- File::makeDirectory(public_path().'/'.$destinationPath, $mode = 0777, true, true);
- }
-
- if($memo->jenis_data == "manual"){
- return $pdf->stream();
- }else if($memo->jenis_data == "pdf"){
- $pdf->save(public_path().'/'.$destinationPath.'/'.$memo->_id.'.pdf');
- $availablePDF[] = public_path().'/'.$destinationPath.'/'.$memo->_id.'.pdf';
-
- $merges = PDFMerger::init();
- foreach($memo->Attachment as $key => $a){
- $temp = file_put_contents(public_path().'/'.$destinationPath.'/temp-'.$memo->_id.'-'.$key.'.pdf', fopen($a->path, 'r'));
- $availablePDF[] = public_path().'/'.$destinationPath.'/temp-'.$memo->_id.'-'.$key.'.pdf';
- }
-
- foreach($availablePDF as $a){
- $merges->addPDF($a, 'all');
- }
- $merges->merge();
-
- foreach($availablePDF as $i => $in){
- File::delete($in);
- }
- File::deleteDirectory(public_path().'/'.$destinationPath);
- $merges->save(public_path().'/'.$destinationPath.'/'.$memo->_id.'.pdf',"browser");
- }
- }
-
- /**
- * Create a memo list controller.
- *
- * @return json
- */
-
- public function noticeIndex(){
- $id = Auth::guard('sadmin')->id();
- $user = Staff::with('StaffDetail')->find($id);
- $site = SiteSetting::first();
- return view('main-dashboard.setting.template_notice_index', compact('user','site'));
- }
-
- public function viewNoticeAdd(){
- $id = Auth::guard('sadmin')->id();
- $user = Staff::with('StaffDetail')->find($id);
-
- $department = Department::all();
- $site = SiteSetting::first();
- return view('main-dashboard.setting.template_notice_add',compact('user', 'department','site'));
- }
-
- public function viewNoticeEdit($_id){
- $id = Auth::guard('sadmin')->id();
- $user = Staff::with('StaffDetail')->find($id);
-
- $department = Department::all();
- $template = TemplateNotice::with('Attachment')->where('_id',$_id)->first();
- $de = Department::where('_id', $template->department_id)->first();
- $seksyen = Faulty::where('jbkod', $de->jbkod)->where('akkod', $template->akta_kesalahan)->get();
- return view('main-dashboard.setting.template_notice_edit',compact('user','template','department','seksyen'));
- }
-
- public function addTemplateNotice(Request $request){
- $id = Auth::guard('sadmin')->id();
- $user = Staff::with('StaffDetail')->find($id);
-
- $validator = Validator::make($request->all(), [
- 'attachment' => 'mimes:jpeg,jpg|max:2048',
- ]);
-
- if ($validator->fails()) {
- return redirect()->back()->withInput()->withErrors($validator);
- }
-
- $dataTemplate = [
- 'akta_kesalahan' => $request->acts,
- 'seksyen_kesalahan' => $request->seksyen,
- 'jenis_amaran' => $request->jenis_amaran,
- 'tempoh_hantar' => $request->tempoh,
- 'no_rujukan' => $request->no_rujukan,
- 'subjek' => $request->subjek,
- 'kandungan' => $request->kandungan,
- // 'nama_pengirim' => $request->nama_pengirim,
- // 'jawatan_pengirim' => $request->jawatan_pengirim,
- 'status' => 'tidak aktif'
- ];
-
- $department = Department::where('jbkod', $request->department)->first();
- if(!empty($department)){
- $template = TemplateNotice::create($dataTemplate);
- $department->templatenotice()->save($template);
- return redirect()->back()->with('success_msg', '<strong>Berjaya!</strong> Simpan rekod templat notis amaran');
- }else{
- return redirect()->back()->withInput()->with('error_msg', '<strong>Tidak Berjaya!</strong> Simpan rekod templat notis amaran');
- }
-
-
- // if($request->hasfile('attachment')){
- // $destinationPath = 'document/notis-amaran';
- // $uploaded = public_path().'/'.$destinationPath;
-
- // $allowedfileExtension = ['jpg','jpeg'];
- // $a = $request->file('attachment');
- // $extension = $a->getClientOriginalExtension();
- // $check=in_array($extension,$allowedfileExtension);
-
- // if($check) {
- // $filename = $template->_id;
- // $a->move($destinationPath, $filename.'.'.$extension);
- // $pathImage = '/'.$destinationPath.'/'.$filename.'.'.$extension;
-
- // $attach = new Attachment();
- // $attach->path = $pathImage;
- // $template->attachment()->save($attach);
- // }
- // }else{
- // return redirect()->back()->withInput()->with('error_msg', '<strong>Tidak Berjaya!</strong> Simpan rekod templat notis amaran');
- // }
- }
-
- public function editTemplateNotice(Request $request){
- $id = Auth::guard('sadmin')->id();
- $user = Staff::with('StaffDetail')->find($id);
-
- $validator = Validator::make($request->all(), [
- 'attachment' => 'mimes:jpeg,jpg|max:2048',
- ]);
-
- if ($validator->fails()) {
- return redirect()->back()->withInput()->withErrors($validator);
- }
-
- $template = TemplateNotice::where('_id',$request->_id)->first();
- if(!empty($template)){
-
- $department = Department::where('jbkod', $request->department)->first();
- if(!empty($department)){
- $template->department_id = $department->_id;
- $template->akta_kesalahan = $request->acts;
- $template->seksyen_kesalahan = $request->seksyen;
- $template->jenis_amaran = $request->jenis_amaran;
- $template->tempoh_hantar = $request->tempoh;
- $template->no_rujukan = $request->no_rujukan;
- $template->subjek = $request->subjek;
- $template->kandungan = $request->kandungan;
- $template->status = 'tidak aktif';
- $template->save();
-
- return redirect()->back()->with('success_msg', '<strong>Berjaya!</strong> Kemaskini rekod templat notis amaran. Anda boleh "aktifkan" notis amaran ini di "Senarai Templat Notis Amaran"');
- }else{
- return redirect()->back()->withInput()->with('error_msg', '<strong>Tidak Berjaya!</strong> rekod jabatan tidak ditemui');
- }
- }else{
- return redirect()->back()->withInput()->with('error_msg', '<strong>Tidak Berjaya!</strong> rekod templat notis amaran tidak ditemui');
- }
- }
-
- public function viewLetterPDF($_id,$kpd){
- $compound = Compound::where('kpd',$kpd)->first();
- $site = SiteSetting::first();
- $template = TemplateNotice::where('_id',$_id)->first();
- if(!empty($template)){
- $now = Carbon::now()->format('d/m/Y h:i:s A');
-
- $pdf = PDF::loadView('pdf.template_letter', compact('template','now','compound','site'));
- $pdf->setPaper('A4', 'potrait');
- return $pdf->stream();
- }else{
- $template = LetterNotice::with('Attachment')->where('_id',$_id)->first();
- if(!empty($template)){
- $now = Carbon::now()->format('d/m/Y h:i:s A');
-
- $pdf = PDF::loadView('pdf.template_letter', compact('template','now','compound','site'));
- $pdf->setPaper('A4', 'potrait');
- return $pdf->stream();
- }
- }
- }
-
- public function updatePosNumber(Request $request){
-
- $letter = LetterNotice::where('_id',$request->letter_id)->first();
- if(!empty($letter)){
-
- $compound = Compound::with('ConfidentialFile')->where('_id', $letter->compound_id)->first();
- if($request->hasFile('gambar_pos')){
-
- $validator = Validator::make($request->all(), [
- 'gambar_pos' => 'mimes:jpg,jpeg',
- ]);
-
- if ($validator->fails()) {
- return redirect()->back()->withInput()->withErrors($validator);
- }
-
- $path = '';
- $destinationPath = 'document/'.$compound->ConfidentialFile->no_siri.'/notice';
- $a = $request->file('gambar_pos');
- $extension = $a->getClientOriginalExtension();
- $filename = 'pos_notice_'.$letter->_id;
- $a->move($destinationPath,$filename.'.'.$extension);
- $path = $destinationPath.'/'.$filename.'.'.$extension;
-
- $letter->no_pos = $request->no_pos;
- $letter->save();
-
- $attach = new Attachment();
- $attach->path = $path;
- $letter->attachment()->save($attach);
-
- return redirect()->back()->with('success_msg', '<strong>Berjaya!</strong> simpan nombor pos');
-
- }else{
- return redirect()->back()->withInput()->with('error_msg', '<strong>Tidak Berjaya!</strong> sila masukkan gamabr pos sekali');
- }
-
- }else{
- return redirect()->back()->withInput()->with('error_msg', '<strong>Tidak Berjaya!</strong> rekod surat notis amaran tidak ditemui');
- }
- }
-
- /**
- * Laman web controller.
- *
- * @return json
- */
-
- public function generalSetting(){
- $id = Auth::guard('sadmin')->id();
- $user = Staff::with('StaffDetail')->find($id);
- $site = SiteSetting::first();
- return view('main-dashboard.setting.general_setting', compact('user','site'));
- }
-
- public function letterSetting(){
- $id = Auth::guard('sadmin')->id();
- $user = Staff::with('StaffDetail')->find($id);
- $site = SiteSetting::first();
- return view('main-dashboard.setting.letter_setting', compact('user','site'));
- }
-
- public function compoundSetting(){
- $id = Auth::guard('sadmin')->id();
- $user = Staff::with('StaffDetail')->find($id);
- $site = SiteSetting::first();
- return view('main-dashboard.setting.compound_setting', compact('user','site'));
- }
-
- public function updateSettingVariables(Request $request){
-
- $site = SiteSetting::first();
- if($request->umum == "true"){
- $site->site_title = $request->site_title;
- $site->site_tagline = $request->site_tagline;
- $site->save();
-
- if($request->hasFile('favicon')){
- $path = '';
- $validator = Validator::make($request->all(), [
- 'favicon' => 'mimes:png|dimensions:width=32,height=32',
- ]);
-
- if ($validator->fails()) {
- return redirect()->back()->withInput()->withErrors($validator);
- }
-
- $destinationPath = 'uploads';
- $a = $request->file('favicon');
- $extension = $a->getClientOriginalExtension();
- $filename = 'favicon';
- $a->move($destinationPath,$filename.'.'.$extension);
- $path = $destinationPath.'/'.$filename.'.'.$extension;
-
- $site->favicon = $path;
- $site->save();
- }
-
- if($request->hasFile('logo')){
- $path = '';
- $validator = Validator::make($request->all(), [
- 'logo' => 'mimes:png|dimensions:width=614,height=167',
- ]);
-
- if ($validator->fails()) {
- return redirect()->back()->withInput()->withErrors($validator);
- }
-
- $destinationPath = 'uploads';
- $a = $request->file('logo');
- $extension = $a->getClientOriginalExtension();
- $filename = 'logo';
- $a->move($destinationPath,$filename.'.'.$extension);
- $path = $destinationPath.'/'.$filename.'.'.$extension;
-
- $site->logo = $path;
- $site->save();
- }
-
- return redirect()->back()->with('success_msg', '<strong>Berjaya!</strong> simpan perubahan');
- }
-
- if($request->letter == "true"){
- $site->building_name = $request->building_name;
- $site->address = $request->address;
- $site->state_code = $request->postcode;
- $site->no_tel = $request->no_tel;
- $site->no_fax = $request->no_faks;
- $site->email = $request->email;
- $site->save();
-
- if($request->hasFile('letter_head')){
- $path = '';
- $validator = Validator::make($request->all(), [
- 'letter_head' => 'mimes:png|dimensions:max_width=700,max_height=109',
- ]);
-
- if ($validator->fails()) {
- return redirect()->back()->withInput()->withErrors($validator);
- }
-
- $destinationPath = 'uploads';
- $a = $request->file('letter_head');
- $extension = $a->getClientOriginalExtension();
- $filename = 'letter_head';
- $a->move($destinationPath,$filename.'.'.$extension);
- $path = $destinationPath.'/'.$filename.'.'.$extension;
-
- $site->letter_head = $path;
- $site->save();
- }
-
- return redirect()->back()->with('success_msg', '<strong>Berjaya!</strong> simpan perubahan');
- }
-
- if($request->compound == "true"){
- if($request->hasFile('bg_compound')){
- $path = '';
- $validator = Validator::make($request->all(), [
- 'bg_compound' => 'mimes:png|dimensions:width=450,height=450',
- ]);
-
- if ($validator->fails()) {
- return redirect()->back()->withInput()->withErrors($validator);
- }
-
- $destinationPath = 'uploads';
- $a = $request->file('bg_compound');
- $extension = $a->getClientOriginalExtension();
- $filename = 'bg_compound';
- $a->move($destinationPath,$filename.'.'.$extension);
- $path = $destinationPath.'/'.$filename.'.'.$extension;
-
- $site->bg_compound = $path;
- $site->save();
- }
-
- return redirect()->back()->with('success_msg', '<strong>Berjaya!</strong> simpan perubahan');
- }
- }
-
- /**
- * Api Integration controller.
- *
- * @return json
- */
-
- public function viewApiKey(){
- $id = Auth::guard('sadmin')->id();
- $user = Staff::with('StaffDetail')->find($id);
- $site = SiteSetting::first();
- return view('main-dashboard.api.view_api_key', compact('user','site'));
- }
-
- public function viewApiIntegration(){
- $id = Auth::guard('sadmin')->id();
- $user = Staff::with('StaffDetail')->find($id);
- $site = SiteSetting::first();
- $api = ApiKey::all();
- return view('main-dashboard.api.view_api_integration_index', compact('user','site','api'));
- }
-
- public function addApiKey(Request $request){
- $id = Auth::guard('sadmin')->id();
- $user = Staff::with('StaffDetail')->find($id);
-
- $scopes = array();
- if($request->has('compound_search')){
- array_push($scopes, 'compound.search');
- }
-
- if($request->has('compound_update')){
- array_push($scopes, 'compound.update.status');
- }
-
- do {
- $api_key = str_random(7);
- } while (ApiKey::where("key_prefix", "=", $api_key)->first() instanceof Api);
-
-
- $data = [
- 'name' => $request->name,
- 'key_prefix' => $api_key,
- 'scopes' => $scopes
- ];
-
- $api = ApiKey::create($data);
- return redirect()->back()->with('success_msg', 'Successfully store new Api Key');
- }
-
- public function addIntegrasi(Request $request){
- $id = Auth::guard('sadmin')->id();
- $user = Staff::with('StaffDetail')->find($id);
-
- $api = ApiKey::where('_id',$request->type_api)->first();
- if(!empty($api)){
- $api_key = $api->key_prefix.'.'.str_random(32);
-
- $data = [
- 'client' => $request->client,
- 'key' => $api_key,
- 'status' => 'active'
- ];
-
- $apiI = $api->apiintegrasi()->create($data);
- return redirect()->back()->with('success_msg', 'Successfully store clients');
- }
- }
- }
|