Hi I want assistance on how to generate custom id such as "VCI/GT/0001", I have created a member-no in my table because i still want to maintain the general Id column. I came across this article :
https://laravelarticle.com/laravel-custom-id-generator (I tried using the model approach)
via google research however I was wondering how I can make it auto generate show in my create-members form view and then upload to the database when record is savedand finally how can it show in the users view blade or edit blade as a non editable figure. below are my models and controllers;
Members Controller .
<?php
namespace App\Http\Controllers;
use Aloha\Twilio\Twilio;
use App\Helpers\GeneralHelper;
use App\Models\Branch;
use App\Models\CustomField;
use App\Models\CustomFieldMeta;
use App\Models\Email;
use App\Models\Family;
use App\Models\FamilyMember;
use App\Models\Member;
use App\Models\MemberTag;
use App\Models\Setting;
use App\Models\Tag;
use App\Models\User;
use Cartalyst\Sentinel\Laravel\Facades\Sentinel;
use Illuminate\Support\Carbon;
use Illuminate\Support\Facades\DB;
use PDF;
use Illuminate\Http\Request;
use App\Http\Requests;
use Illuminate\Support\Facades\Input;
use Illuminate\Support\Facades\Mail;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\View;
use Laracasts\Flash\Flash;
use Yajra\DataTables\Facades\DataTables;
class MemberController extends Controller
{
public function __construct()
{
$this->middleware('sentinel');
}
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
if (!Sentinel::hasAccess('members')) {
Flash::warning("Permission Denied");
return redirect()->back();
}
return view('member.data');
}
public function get_members(Request $request)
{
if (!Sentinel::hasAccess('members')) {
Flash::warning("Permission Denied");
return redirect()->back();
}
$query =Member::leftJoin('branches', 'branches.id', 'members.branch_id')
->selectRaw('members.*,branches.name branch');
return DataTables::of($query)->editColumn('name', function ($data) {
return '<a href="' . url('member/' . $data->id . '/show') . '" class="">' . $data->first_name . ' ' . $data->middle_name . ' ' . $data->last_name . '</a>';
})->editColumn('age', function ($data) {
return Carbon::now()->diffInYears(Carbon::parse($data->dob));
})->editColumn('action', function ($data) {
$action = '<div class="btn-group"><button type="button" class="btn btn-info btn-flat dropdown-toggle" data-toggle="dropdown" aria-expanded="false"><i class="fa fa-list"></i></button><ul class="dropdown-menu dropdown-menu-right" role="menu">';
if (Sentinel::hasAccess('members.view')) {
$action .= '<li><a href="' . url('member/' . $data->id . '/show') . '" class="">' . trans_choice('general.detail', 2) . '</a></li>';
}
if (Sentinel::hasAccess('members.update')) {
$action .= '<li><a href="' . url('member/' . $data->id . '/edit') . '" class="">' . trans_choice('general.edit', 2) . '</a></li>';
}
if (Sentinel::hasAccess('members.delete')) {
$action .= '<li><a href="' . url('member/' . $data->id . '/delete') . '" class="delete">' . trans_choice('general.delete', 2) . '</a></li>';
}
$action .= "</ul></div>";
return $action;
})->editColumn('gender', function ($data) {
if ($data->gender == "male") {
return trans_choice('general.male', 1);
}
if ($data->gender == "female") {
return trans_choice('general.female', 1);
}
if ($data->gender == "unknown") {
return trans_choice('general.unknown', 1);
}
})->editColumn('photo', function ($data) {
if (!empty($data->photo))
return '<a href="' . asset('uploads/' . $data->photo) . '" class="fancybox"><img src="' . asset('uploads/' . $data->photo) . '" width="100"></a>';
})->editColumn('id', function ($data) {
return '<a href="' . url('member/' . $data->id . '/show') . '" class="">' . $data->id . '</a>';
})->rawColumns(['id', 'name', 'action', 'photo'])->make(true);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
if (!Sentinel::hasAccess('members.create')) {
Flash::warning("Permission Denied");
return redirect()->back();
}
$branches = array();
foreach (Branch::get() as $key) {
$branches[$key->id] = $key->name;
}
$menus = array(
'items' => array(),
'parents' => array()
);
// Builds the array lists with data from the SQL result
foreach (Tag::all() as $items) {
// Create current menus item id into array
$menus['items'][$items['id']] = $items;
// Creates list of all items with children
$menus['parents'][$items['parent_id']][] = $items['id'];
}
//get custom fields
$custom_fields = CustomField::where('category', 'members')->get();
return view('member.create', compact('menus', 'custom_fields', 'branches'));
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
if (!Sentinel::hasAccess('members.create')) {
Flash::warning("Permission Denied");
return redirect()->back();
}
$member = new Member();
$member->member_no = $request->member_no;
$member->branch_id = $request->branch_id;
$member->first_name = $request->first_name;
$member->middle_name = $request->middle_name;
$member->last_name = $request->last_name;
$member->user_id = Sentinel::getUser()->id;
$member->gender = $request->gender;
$member->marital_status = $request->marital_status;
$member->status = $request->status;
$member->home_phone = $request->home_phone;
$member->mobile_phone = $request->mobile_phone;
$member->work_phone = $request->work_phone;
if (!empty($request->dob)) {
$member->dob = $request->dob;
}
$member->address = $request->address;
$member->notes = $request->notes;
$member->email = $request->email;
if ($request->hasFile('photo')) {
$file = array('photo' => $request->file('photo'));
$rules = array('photo' => 'required|mimes:jpeg,jpg,bmp,png');
$validator = Validator::make($file, $rules);
if ($validator->fails()) {
Flash::warning(trans('general.validation_error'));
return redirect()->back()->withInput()->withErrors($validator);
} else {
$member->photo = $request->file('photo')->getClientOriginalName();
$request->file('photo')->move(public_path() . '/uploads',
$request->file('photo')->getClientOriginalName());
}
}
$files = array();
if ($request->hasFile('files')) {
$count = 0;
foreach ($request->file('files') as $key) {
$file = array('files' => $key);
$rules = array('files' => 'required|mimes:jpeg,jpg,bmp,png,pdf,docx,xlsx');
$validator = Validator::make($file, $rules);
if ($validator->fails()) {
Flash::warning(trans('general.validation_error'));
return redirect()->back()->withInput()->withErrors($validator);
} else {
$files[$count] = $key->getClientOriginalName();
$key->move(public_path() . '/uploads',
$key->getClientOriginalName());
}
$count++;
}
}
$member->files = serialize($files);
$member->save();
//check for tags
if (!empty($request->tags)) {
$tags = explode(',', $request->tags);
foreach ($tags as $k) {
$tag = new MemberTag();
$tag->member_id = $member->id;
$tag->tag_id = $k;
$tag->user_id = Sentinel::getUser()->id;
$tag->save();
}
}
$custom_fields = CustomField::where('category', 'members')->get();
foreach ($custom_fields as $key) {
$custom_field = new CustomFieldMeta();
$id = $key->id;
if ($key->field_type == "checkbox") {
if (!empty($request->$id)) {
$custom_field->name = serialize($request->$id);
} else {
$custom_field->name = serialize([]);
}
} else {
$custom_field->name = $request->$id;
}
$custom_field->parent_id = $member->id;
$custom_field->custom_field_id = $key->id;
$custom_field->category = "members";
$custom_field->save();
}
GeneralHelper::audit_trail("Added member with id:" . $member->id);
Flash::success(trans('general.successfully_saved'));
return redirect('member/data');
}
public function show($member)
{
if (!Sentinel::hasAccess('members.view')) {
Flash::warning("Permission Denied");
return redirect()->back();
}
$members = array();
foreach (Member::all() as $key) {
$members[$key->id] = $key->first_name . ' ' . $key->middle_name . ' ' . $key->last_name . '(#' . $key->id . ')';
}
//get custom fields
$custom_fields = CustomFieldMeta::where('category', 'members')->where('parent_id', $member->id)->get();
return view('member.show', compact('member', 'custom_fields', 'members'));
}
public function edit($member)
{
if (!Sentinel::hasAccess('members.update')) {
Flash::warning("Permission Denied");
return redirect()->back();
}
$menus = array(
'items' => array(),
'parents' => array()
);
$branches = array();
foreach (Branch::get() as $key) {
$branches[$key->id] = $key->name;
}
// Builds the array lists with data from the SQL result
foreach (Tag::all() as $items) {
// Create current menus item id into array
$menus['items'][$items['id']] = $items;
// Creates list of all items with children
$menus['parents'][$items['parent_id']][] = $items['id'];
}
$selected_tags = array();
foreach (MemberTag::where('member_id', $member->id)->get() as $key) {
array_push($selected_tags, $key->tag_id);
}
//get custom fields
$custom_fields = CustomField::where('category', 'members')->get();
return view('member.edit', compact('member', 'selected_tags', 'custom_fields', 'menus', 'branches'));
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
if (!Sentinel::hasAccess('members.update')) {
Flash::warning("Permission Denied");
return redirect()->back();
}
$member = Member::find($id);
$member->branch_id = $request->branch_id;
$member->first_name = $request->first_name;
$member->middle_name = $request->middle_name;
$member->last_name = $request->last_name;
$member->gender = $request->gender;
$member->marital_status = $request->marital_status;
$member->status = $request->status;
$member->home_phone = $request->home_phone;
$member->mobile_phone = $request->mobile_phone;
$member->work_phone = $request->work_phone;
if (!empty($request->dob)) {
$member->dob = $request->dob;
}
$member->address = $request->address;
$member->notes = $request->notes;
$member->email = $request->email;
if ($request->hasFile('photo')) {
$file = array('photo' => $request->file('photo'));
$rules = array('photo' => 'required|mimes:jpeg,jpg,bmp,png');
$validator = Validator::make($file, $rules);
if ($validator->fails()) {
Flash::warning(trans('general.validation_error'));
return redirect()->back()->withInput()->withErrors($validator);
} else {
$member->photo = $request->file('photo')->getClientOriginalName();
$request->file('photo')->move(public_path() . '/uploads',
$request->file('photo')->getClientOriginalName());
}
}
$files = unserialize($member->files);
$count = count($files);
if ($request->hasFile('files')) {
foreach ($request->file('files') as $key) {
$count++;
$file = array('files' => $key);
$rules = array('files' => 'required|mimes:jpeg,jpg,bmp,png,pdf,docx,xlsx');
$validator = Validator::make($file, $rules);
if ($validator->fails()) {
Flash::warning(trans('general.validation_error'));
return redirect()->back()->withInput()->withErrors($validator);
} else {
$files[$count] = $key->getClientOriginalName();
$key->move(public_path() . '/uploads',
$key->getClientOriginalName());
}
}
}
$member->files = serialize($files);
$member->save();
//check for tags
MemberTag::where('member_id', $member->id)->delete();
if (!empty($request->tags)) {
$tags = explode(',', $request->tags);
foreach ($tags as $k) {
$tag = new MemberTag();
$tag->member_id = $member->id;
$tag->tag_id = $k;
$tag->user_id = Sentinel::getUser()->id;
$tag->save();
}
}
$custom_fields = CustomField::where('category', 'members')->get();
foreach ($custom_fields as $key) {
if (!empty(CustomFieldMeta::where('custom_field_id', $key->id)->where('parent_id', $id)->where('category',
'members')->first())
) {
$custom_field = CustomFieldMeta::where('custom_field_id', $key->id)->where('parent_id',
$id)->where('category', 'members')->first();
} else {
$custom_field = new CustomFieldMeta();
}
$kid = $key->id;
if ($key->field_type == "checkbox") {
if (!empty($request->$kid)) {
$custom_field->name = serialize($request->$kid);
} else {
$custom_field->name = serialize([]);
}
} else {
$custom_field->name = $request->$kid;
}
$custom_field->parent_id = $id;
$custom_field->custom_field_id = $key->id;
$custom_field->category = "members";
$custom_field->save();
}
GeneralHelper::audit_trail("Updated member with id:" . $member->id);
Flash::success(trans('general.successfully_saved'));
return redirect('member/data');
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function delete($id)
{
if (!Sentinel::hasAccess('members.delete')) {
Flash::warning("Permission Denied");
return redirect()->back();
}
Member::destroy($id);
MemberTag::where('member_id', $id)->delete();
GeneralHelper::audit_trail("Deleted member with id:" . $id);
Flash::success(trans('general.successfully_deleted'));
return redirect('member/data');
}
public function deleteFile(Request $request, $id)
{
if (!Sentinel::hasAccess('members.delete')) {
Flash::warning("Permission Denied");
return redirect()->back();
}
$member = Member::find($id);
$files = unserialize($member->files);
@unlink(public_path() . '/uploads/' . $files[$request->id]);
$files = array_except($files, [$request->id]);
$member->files = serialize($files);
$member->save();
}
public function approve(Request $request, $id)
{
if (!Sentinel::hasAccess('members.approve')) {
Flash::warning("Permission Denied");
return redirect()->back();
}
$member = Member::find($id);
$member->active = 1;
$member->save();
GeneralHelper::audit_trail("Approved borrower with id:" . $member->id);
Flash::success(trans('general.successfully_saved'));
return redirect()->back();
}
public function decline(Request $request, $id)
{
if (!Sentinel::hasAccess('members.approve')) {
Flash::warning("Permission Denied");
return redirect()->back();
}
$member = Member::find($id);
$member->active = 0;
$member->save();
GeneralHelper::audit_trail("Declined borrower with id:" . $member->id);
Flash::success(trans('general.successfully_saved'));
return redirect()->back();
}
public function blacklist(Request $request, $id)
{
if (!Sentinel::hasAccess('members.blacklist')) {
Flash::warning("Permission Denied");
return redirect()->back();
}
$member = Member::find($id);
$member->blacklisted = 1;
$member->save();
GeneralHelper::audit_trail("Blacklisted borrower with id:" . $id);
Flash::success(trans('general.successfully_saved'));
return redirect()->back();
}
public function unBlacklist(Request $request, $id)
{
if (!Sentinel::hasAccess('members.blacklist')) {
Flash::warning("Permission Denied");
return redirect()->back();
}
$member = Member::find($id);
$member->blacklisted = 0;
$member->save();
GeneralHelper::audit_trail("Undo Blacklist for borrower with id:" . $id);
Flash::success(trans('general.successfully_saved'));
return redirect()->back();
}
public function createFamily($member)
{
if (!Sentinel::hasAccess('members.create')) {
Flash::warning("Permission Denied");
return redirect()->back();
}
if (!empty($member->family)) {
Flash::warning("Family already exist");
return redirect()->back();
}
$family = new Family();
$family->user_id = Sentinel::getUser()->id;
$family->member_id = $member->id;
$family->name = $member->last_name;
$family->save();
//add family member with role of head
$family_member = new FamilyMember();
$family_member->user_id = Sentinel::getUser()->id;
$family_member->member_id = $member->id;
$family_member->family_id = $family->id;
$family_member->family_role = "head";
$family_member->save();
GeneralHelper::audit_trail("Created family for member with id:" . $member->id);
Flash::success(trans('general.successfully_saved'));
return redirect()->back();
}
public function deleteFamilyMember($id)
{
if (!Sentinel::hasAccess('members.update')) {
Flash::warning("Permission Denied");
return redirect()->back();
}
FamilyMember::destroy($id);
GeneralHelper::audit_trail("Deleted family Member with id:" . $id);
Flash::success(trans('general.successfully_saved'));
return redirect()->back();
}
public function storeFamilyMember(Request $request, $id)
{
if (!Sentinel::hasAccess('members.create')) {
Flash::warning("Permission Denied");
return redirect()->back();
}
if (FamilyMember::where('family_id', $id)->where('member_id', $request->member_id)->count() > 0) {
Flash::warning("Member already in family");
return redirect()->back();
}
//add family member with role of head
$family_member = new FamilyMember();
$family_member->user_id = Sentinel::getUser()->id;
$family_member->member_id = $request->member_id;
$family_member->family_id = $id;
$family_member->family_role = $request->family_role;
$family_member->save();
GeneralHelper::audit_trail("Added family for member with id:" . $request->member_id);
Flash::success(trans('general.successfully_saved'));
return redirect()->back();
}
public function updateFamilyMember(Request $request, $id)
{
if (!Sentinel::hasAccess('members.update')) {
Flash::warning("Permission Denied");
return redirect()->back();
}
//add family member with role of head
$family_member = FamilyMember::find($id);
$family_member->family_role = $request->family_role;
$family_member->save();
GeneralHelper::audit_trail("Added family for member with id:" . $family_member->member_id);
Flash::success(trans('general.successfully_saved'));
return redirect()->back();
}
public function editFamilyMember($family_member)
{
if (!Sentinel::hasAccess('members.update')) {
Flash::warning("Permission Denied");
return redirect()->back();
}
return View::make('member.edit_family_member', compact('family_member'))->render();
}
public function pdfStatement($member)
{
if (!Sentinel::hasAccess('members.view')) {
Flash::warning("Permission Denied");
return redirect()->back();
}
PDF::AddPage();
PDF::writeHTML(View::make('member.pdf_member_statement', compact('member'))->render());
PDF::SetAuthor('Tererai Mugova');
PDF::Output($member->first_name . ' ' . $member->last_name . " - Statement.pdf",
'D');
}
public function printStatement($member)
{
if (!Sentinel::hasAccess('members.view')) {
Flash::warning("Permission Denied");
return redirect()->back();
}
return View::make('member.print_member_statement', compact('member'))->render();
}
public function emailStatement($member)
{
if (!Sentinel::hasAccess('members.view')) {
Flash::warning("Permission Denied");
return redirect()->back();
}
if (!empty($member->email)) {
$body = Setting::where('setting_key',
'member_statement_email_template')->first()->setting_value;
$body = str_replace('{firstName}', $member->first_name, $body);
$body = str_replace('{middleName}', $member->middle_name, $body);
$body = str_replace('{lastName}', $member->last_name, $body);
$body = str_replace('{address}', $member->address, $body);
$body = str_replace('{homePhone}', $member->home_phone, $body);
$body = str_replace('{mobilePhone}', $member->mobile_phone_phone, $body);
$body = str_replace('{email}', $member->email, $body);
$body = str_replace('{totalContributions}', GeneralHelper::member_total_contributions($member->id), $body);
$body = str_replace('{totalPledges}',
round(GeneralHelper::member_total_pledges($member->id), 2), $body);
$body = str_replace('{total}',
round((GeneralHelper::member_total_contributions($member->id) + GeneralHelper::member_total_pledges($member->id)),
2), $body);
PDF::AddPage();
PDF::writeHTML(View::make('member.pdf_member_statement', compact('member'))->render());
PDF::SetAuthor('Tererai Mugova');
PDF::Output(public_path() . '/uploads/temporary/member_statement' . $member->id . ".pdf", 'F');
$file_name = $member->first_name . ' ' . $member->last_name . " - Member Statement.pdf";
Mail::send([],[], function ($message) use ($member, $file_name,$body) {
$message->from(Setting::where('setting_key', 'company_email')->first()->setting_value,
Setting::where('setting_key', 'company_name')->first()->setting_value);
$message->to($member->email);
$message->setBody($body);
$message->attach(public_path() . '/uploads/temporary/member_statement' . $member->id . ".pdf",
["as" => $file_name]);
$message->setContentType('text/html');
$message->setSubject(Setting::where('setting_key',
'member_statement_email_subject')->first()->setting_value);
});
unlink(public_path() . '/uploads/temporary/member_statement' . $member->id . ".pdf");
$mail = new Email();
$mail->user_id = Sentinel::getUser()->id;
$mail->message = $body;
$mail->subject = Setting::where('setting_key',
'member_statement_email_subject')->first()->setting_value;
$mail->recipients = 1;
$mail->send_to = $member->first_name . ' ' . $member->last_name . '(' . $member->id . ')';
$mail->save();
Flash::success("Statment successfully sent");
return redirect('member/' . $member->id . '/show');
} else {
Flash::warning("Member has no email set");
return redirect('member/' . $member->id . '/show');
}
}
}
Members Model:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class Member extends Model
{
protected $table = "members";
public static function boot()
{
parent::boot();
self::creating(function ($model) {
$model->uuid = IdGenerator::generate(['table' => 'members', 'field' => 'member_no', 'length' => 11, 'prefix' =>'VCI/GT/']);
});
}
public function loans()
{
return $this->hasMany(Loan::class, 'borrower_id', 'id');
}
public function user()
{
return $this->hasOne(User::class, 'id', 'user_id');
}
public function pledges()
{
return $this->hasMany(Pledge::class, 'member_id', 'id');
}
public function contributions()
{
return $this->hasMany(Contribution::class, 'member_id', 'id');
}
public function tags()
{
return $this->hasMany(MemberTag::class, 'member_id', 'id');
}
public function attendance()
{
return $this->hasMany(EventAttendance::class, 'member_id', 'id');
}
public function families()
{
return $this->hasMany(FamilyMember::class, 'member_id', 'id');
}
public function family()
{
return $this->hasOne(Family::class, 'member_id', 'id');
}
}
Create-Member-View
@extends('layouts.master')
@section('title')
{{trans_choice('general.add',1)}} {{trans_choice('general.member',1)}}
@endsection
@section('content')
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">{{trans_choice('general.add',1)}} {{trans_choice('general.member',1)}}</h3>
<div class="box-tools pull-right">
</div>
</div>
{!! Form::open(array('url' => url('member/store'), 'method' => 'post', 'id' => 'add_member_form',"enctype"=>"multipart/form-data")) !!}
<div class="box-body">
<div class="row">
<div class="col-md-6">
<!-- <div class="form-group">
{!! Form::label('branch_id',trans_choice('general.branch',1),array('class'=>' control-label')) !!}
{!! Form::select('branch_id',$branches,null, array('class' => 'form-control select2','placeholder'=>'','required'=>'required','id'=>'contribution_batch_id')) !!}
</div> -->
<div class="form-group">
{!! Form::label('first_name',trans_choice('general.first_name',1),array('class'=>'')) !!}
{!! Form::text('first_name',null, array('class' => 'form-control', 'placeholder'=>trans_choice('general.first_name',1),'required'=>'required')) !!}
</div>
<!-- <div class="form-group">
{!! Form::label('middle_name',trans_choice('general.middle_name',1),array('class'=>'')) !!}
{!! Form::text('middle_name',null, array('class' => 'form-control', 'placeholder'=>'')) !!}
</div>
<div class="form-group">
{!! Form::label('last_name',trans_choice('general.last_name',1),array('class'=>'')) !!}
{!! Form::text('last_name',null, array('class' => 'form-control', 'placeholder'=>'','required'=>'required')) !!}
</div> -->
<div class="form-group">
{!! Form::label('gender',trans_choice('general.gender',1),array('class'=>'')) !!}
{!! Form::select('gender',array('male'=>trans_choice('general.male',1),'female'=>trans_choice('general.female',1),'unknown'=>trans_choice('general.unknown',1)),'unknown', array('class' => 'form-control',''=>'')) !!}
</div>
<!-- <div class="form-group">
{!! Form::label('marital_status',trans_choice('general.marital_status',1),array('class'=>'')) !!}
{!! Form::select('marital_status',array('single'=>trans_choice('general.single',1),'engaged'=>trans_choice('general.engaged',1),'married'=>trans_choice('general.married',1),'divorced'=>trans_choice('general.divorced',1),'widowed'=>trans_choice('general.widowed',1),'separated'=>trans_choice('general.separated',1),'unknown'=>trans_choice('general.unknown',1)),'unknown', array('class' => 'form-control',''=>'')) !!}
</div> -->
<div class="form-group">
{!! Form::label('status',trans_choice('general.status',1),array('class'=>'')) !!}
{!! Form::select('status',array('attender'=>trans_choice('general.attender',1),'visitor'=>trans_choice('general.visitor',1),'inactive'=>trans_choice('general.inactive',1),'unknown'=>trans_choice('general.unknown',1)),'unknown', array('class' => 'form-control',''=>'')) !!}
</div>
<div class="form-group">
{!! Form::label('home_phone',trans_choice('general.home_phone',1),array('class'=>'')) !!}
{!! Form::text('home_phone',null, array('class' => 'form-control')) !!}
</div>
<!-- <div class="form-group">
{!! Form::label('mobile_phone',trans_choice('general.mobile_phone',1),array('class'=>'')) !!}
{!! Form::text('mobile_phone',null, array('class' => 'form-control', 'placeholder'=>trans_choice('general.numbers_only',1))) !!}
</div> -->
<!-- <div class="form-group">
{!! Form::label('work_phone',trans_choice('general.work_phone',1),array('class'=>'')) !!}
{!! Form::text('work_phone',null, array('class' => 'form-control')) !!}
</div> -->
<div class="form-group">
{!! Form::label('email',trans_choice('general.email',1),array('class'=>'')) !!}
{!! Form::text('email',null, array('class' => 'form-control', 'placeholder'=>trans_choice('general.email',1))) !!}
</div>
<!-- <div class="form-group">
{!! Form::label('dob',trans_choice('general.dob',1),array('class'=>'')) !!}
{!! Form::text('dob',null, array('class' => 'form-control date-picker', 'placeholder'=>"yyyy-mm-dd")) !!}
</div> -->
<div class="form-group">
{!! Form::label('address',trans_choice('general.address',1),array('class'=>'')) !!}
{!! Form::textarea('address',null, array('class' => 'form-control', 'rows'=>"3")) !!}
</div>
<div class="form-group">
{!! Form::label('photo',trans_choice('general.photo',1),array('class'=>'')) !!}
{!! Form::file('photo', array('class' => 'form-control', 'placeholder'=>"")) !!}
</div>
</div>
<div class="col-md-6">
<div class="form-group">
{!! Form::label('middle_name',trans_choice('general.middle_name',1),array('class'=>'')) !!}
{!! Form::text('middle_name',null, array('class' => 'form-control', 'placeholder'=>'')) !!}
</div>
<div class="form-group">
{!! Form::label('dob',trans_choice('general.dob',1),array('class'=>'')) !!}
{!! Form::text('dob',null, array('class' => 'form-control date-picker', 'placeholder'=>"yyyy-mm-dd")) !!}
</div>
<div class="form-group">
{!! Form::label('work_phone',trans_choice('general.work_phone',1),array('class'=>'')) !!}
{!! Form::text('work_phone',null, array('class' => 'form-control')) !!}
</div>
<div class="form-group">
{!! Form::label('last_name',trans_choice('general.last_name',1),array('class'=>'')) !!}
{!! Form::text('last_name',null, array('class' => 'form-control', 'placeholder'=>'','required'=>'required')) !!}
</div>
<div class="form-group">
{!! Form::label('marital_status',trans_choice('general.marital_status',1),array('class'=>'')) !!}
{!! Form::select('marital_status',array('single'=>trans_choice('general.single',1),'engaged'=>trans_choice('general.engaged',1),'married'=>trans_choice('general.married',1),'divorced'=>trans_choice('general.divorced',1),'widowed'=>trans_choice('general.widowed',1),'separated'=>trans_choice('general.separated',1),'unknown'=>trans_choice('general.unknown',1)),'unknown', array('class' => 'form-control',''=>'')) !!}
</div>
<div class="form-group">
{!! Form::label('mobile_phone',trans_choice('general.mobile_phone',1),array('class'=>'')) !!}
{!! Form::text('mobile_phone',null, array('class' => 'form-control', 'placeholder'=>trans_choice('general.numbers_only',1))) !!}
</div>
</div>
</div>
<div class="form-group">
{!! Form::label('notes',trans_choice('general.description',1),array('class'=>'')) !!}
{!! Form::textarea('notes',null, array('class' => 'form-control', 'placeholder'=>"")) !!}
</div>
<div class="form-group">
{!! Form::label('files',trans_choice('general.file',2). ' '.trans_choice('general.borrower_file_types',2),array('class'=>'')) !!}
{!! Form::file('files[]', array('class' => 'form-control', 'multiple'=>"")) !!}
{{trans_choice('general.select_thirty_files',2)}}
</div>
<div class="form-group">
{!! Form::label('tags',trans_choice('general.assign',2). ' '.trans_choice('general.tag',2),array('class'=>'')) !!}
<div id="jstree_div">
<ul>
<li data-jstree='{ "opened" : true }'
id="0">{{trans_choice('general.all',2)}} {{trans_choice('general.tag',2)}}
({{\App\Models\MemberTag::count()}} {{trans_choice('general.people',2)}})
{!! \App\Helpers\GeneralHelper::createTreeView(0,$menus) !!}
</li>
</ul>
</div>
<input type="hidden" name="tags" id="tags" value=""/>
</div>
<p class="bg-navy disabled color-palette">{{trans_choice('general.custom_field',2)}}</p>
@foreach($custom_fields as $key)
<div class="form-group">
{!! Form::label($key->id,$key->name,array('class'=>'')) !!}
@if($key->field_type=="number")
<input type="number" class="form-control" name="{{$key->id}}"
@if($key->required==1) required @endif>
@endif
@if($key->field_type=="textfield")
<input type="text" class="form-control" name="{{$key->id}}"
@if($key->required==1) required @endif>
@endif
@if($key->field_type=="date")
<input type="text" class="form-control date-picker" name="{{$key->id}}"
@if($key->required==1) required @endif>
@endif
@if($key->field_type=="textarea")
<textarea class="form-control" name="{{$key->id}}"
@if($key->required==1) required @endif></textarea>
@endif
@if($key->field_type=="decimal")
<input type="text" class="form-control touchspin" name="{{$key->id}}"
@if($key->required==1) required @endif>
@endif
@if($key->field_type=="select")
<select class="form-control touchspin" name="{{$key->id}}"
@if($key->required==1) required @endif>
@if($key->required!=1)
<option value=""></option>
@else
<option value="" disabled selected>Select...</option>
@endif
@foreach(explode(',',$key->select_values) as $v)
<option>{{$v}}</option>
@endforeach
</select>
@endif
@if($key->field_type=="radiobox")
@foreach(explode(',',$key->radio_box_values) as $v)
<div class="radio">
<label>
<input type="radio" name="{{$key->id}}" id="{{$key->id}}" value="{{$v}}"
@if($key->required==1) required @endif>
<b>{{$v}}</b>
</label>
</div>
@endforeach
@endif
@if($key->field_type=="checkbox")
@foreach(explode(',',$key->checkbox_values) as $v)
<div class="checkbox">
<label>
<input type="checkbox" name="{{$key->id}}[{{$v}}]" id="{{$key->id}}" value="{{$v}}"
@if($key->required==1) required @endif>
<b>{{$v}}</b>
</label>
</div>
@endforeach
@endif
</div>
@endforeach
<p style="text-align:center; font-weight:bold;">
<small><a href="{{url('custom_field/create')}}" target="_blank">Click here to add custom fields on
this page</a></small>
</p>
</div>
<!-- /.box-body -->
<div class="box-footer">
<button type="submit" class="btn btn-primary pull-right" id="add_member">{{trans_choice('general.save',1)}}</button>
</div>
{!! Form::close() !!}
</div>
<!-- /.box -->
@endsection
@section('footer-scripts')
<script>
$('#jstree_div').jstree({
"core": {
"themes": {
"responsive": true
},
// so that create works
"check_callback": true,
},
"plugins": ["checkbox", 'wholerow'],
});
$('#add_member').click(function (e) {
e.preventDefault();
$('#tags').val($('#jstree_div').jstree("get_selected"))
$('#add_member_form').submit();
})
</script>
@endsection
Any assistance is highly appreciated