Files
izyim-api/app/Http/Controllers/CompanyController.php
T
2018-05-24 12:16:37 +08:00

112 lines
4.0 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Company;
use Illuminate\Support\Facades\Storage;
use Validator;
class CompanyController extends Controller
{
public function store(Request $request)
{
$input = $request->all();
Company::create($input);
return response()->json(['input'=>$input],201);
//return redirect('/');
}
public function update(Request $request, $id)
{
$company = Company::find($id);
if (!$company)
{
return response()->json(['message'=>'company not found'],200);
}
$company->company_name=$request->input('company_name');
$company->registration_no=$request->input('registration_no');
$company->tax_no=$request->input('tax_no');
$company->tel_no=$request->input('tel_no');
$company->fax=$request->input('fax');
$company->address=$request->input('address');
$company->city=$request->input('city');
$company->postcode=$request->input('postcode');
$company->state=$request->input('state');
$company->country=$request->input('country');
$company->contact_person=$request->input('contact_person');
$company->save();
return response()->json(['company'=>$company],200);
}
public function companyProfile(Request $request, $id)
{
$company = Company::find($id);//find the company first
if (!$company)
{
return response()->json(['message'=>'company for company_prof not found'],200);
}
//validaating file types
$validator = Validator::make($request->all(), [
'company_profile' => 'image|mimes:jpg,jpeg,bmp,png'
]);
if($validator->fails())
{
return response()->json(['message'=>'Incorrect format'],200);
}
if($file = $request->file('company_profile')) //company profile picture
{
$company_profile = $request->file('company_profile');
$filename = $company_profile->getClientOriginalName(); //get the original file name
$unique_name = 'comp_prof_' . md5($filename. time()); //generating a random file name
$file = $request->file('company_profile');
$ext = $file->getClientOriginalExtension();
$input['company_profile'] = $filename;
Storage::putFileAs(
'company_profile',/*folder name*/ $file, $unique_name. '.' .$ext
);
$company->company_profile = $unique_name. '.' .$ext; //update database
} //end if
$company->save();
return response()->json(['company'=>$company],200);
}//end of companyProfile()
public function regCert(Request $request, $id)
{
$company = Company::find($id); //find the company first
if (!$company)
{
return response()->json(['message'=>'company for reg_cert not found'],200);
}
//validating file types
$validator = Validator::make($request->all(), [
'reg_cert' => 'mimes:jpg,jpeg,bmp,png,gif,svg,pdf'
]);
if($validator->fails()){
return response()->json(['message'=>'Incorrect format'],200);
}
if($request->hasFile('reg_cert')) //Registration Certificate upload
{
$reg_cert = $request->file('reg_cert');
$filename = $reg_cert->getClientOriginalName(); //original filename
$unique_name = 'reg_cert_' . md5($filename. time()); //generating a random file name
$file = $request->file('reg_cert');
$ext = $file->getClientOriginalExtension();
$input['reg_cert'] = $filename;
Storage::putFileAs(
'reg_cert',/*folder name*/ $file, $unique_name. '.' .$ext
);
$company->reg_cert = $unique_name. '.' .$ext; //this updates database
}//end if
$company->save();
return response()->json(['company'=>$company],200);
}//end regCert()
}//end of class