changesIndollar

This commit is contained in:
sayaliparab
2024-07-24 13:39:17 +05:30
5 changed files with 107 additions and 56 deletions

View File

@@ -11,6 +11,9 @@ use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
use Exception;
use Illuminate\Support\Facades\Validator;
use Illuminate\Validation\Rule;
use Carbon\Carbon;
use Illuminate\Support\Facades\Mail;
use App\Mail\Add_Subadmin;
@@ -31,23 +34,37 @@ class ManageSubAdminController extends Controller
return view('Admin.pages.manage_users.manage_sub_admin.create', compact('sub_admins_module'));
}
public function store_subadmin(Request $request)
{
/*
/*
Created By : shailesh Gupta
Created at : 29 May 2024
Use : To store sub admin form and email
*/
public function store_subadmin(Request $request)
{
// Validation rules
$rules = [
'sub_admin_email' => 'required|string|email|max:100|unique:iam_principal,email_address,NULL,id,principal_type_xid,2',
];
// Custom error messages
$messages = [
'sub_admin_email.required' => 'Please enter this field',
'sub_admin_email.email' => 'Please enter a valid email address',
'sub_admin_email.unique' => 'This email is already registered',
];
$validator = Validator::make($request->all(), $rules, $messages);
if ($validator->fails()) {
return response()->json(['errors' => $validator->errors()], 422);
}
try {
DB::beginTransaction();
// $existingEmail = IamPrincipal::where('email_address', $request->input('sub_admin_email'))->first();
// if ($existingEmail) {
// return jsonResponseWithErrorMessage(__('auth.email_already_used'), 500);
// }
// DB::beginTransaction();
$sub_admin = new IamPrincipal();
$sub_admin->first_name = $request->input('sub_admin_name');
$sub_admin->last_name = $request->input('sub_admin_lname');
@@ -58,11 +75,9 @@ class ManageSubAdminController extends Controller
$sub_admin->password = bcrypt($request->input('password'));
$sub_admin->save();
$moduleIds = $request->input('module_id');
foreach ($moduleIds as $moduleId) {
$sub_admin_permission = new ManageModuleLink;
$sub_admin_permission->principal_xid = $sub_admin->id;
$sub_admin_permission->manage_modules_xid = $moduleId;
@@ -74,22 +89,22 @@ class ManageSubAdminController extends Controller
'password' => $request->input('password'),
];
Mail::to($sub_admin->email_address)->send(new Add_Subadmin($mailData));
// Mail::to($sub_admin->email_address)->send(new Add_Subadmin($mailData));
$mail = Mail::to($request->input('sub_admin_email'))->send(new Add_Subadmin($mailData));
// dd($mail);
// DB::commit();
DB::commit();
return jsonResponseWithSuccessMessage(__('success.save_data'));
// return response()->json(['status'=>200]);
// return $voucher_data;
} catch (Exception $e) {
DB::rollBack();
Log::error("restaurant Store Page Load Failed " . $e->getMessage());
Log::error("Store Subadmin Page Load Failed: " . $e->getMessage());
return jsonResponseWithErrorMessage(__('auth.something_went_wrong'), 500);
}
}
public function edit($id)
{
// dd($id);
@@ -131,6 +146,25 @@ class ManageSubAdminController extends Controller
Use : To update sub admin form.
*/
try {
$rules = [
'sub_admin_email' => 'required|string|email|max:100|unique:iam_principal,email_address,NULL,id,principal_type_xid,2',
];
$messages = [
'sub_admin_email.required' => 'Please enter this field',
'sub_admin_email.email' => 'Please enter a valid email address',
'sub_admin_email.unique' => 'This email is already registered',
];
$validator = Validator::make($request->all(), $rules, $messages);
if ($validator->fails()) {
return response()->json(['errors' => $validator->errors()], 422);
}
DB::beginTransaction();
$sub_admin = IamPrincipal::find($request->sub_admin_id);

View File

@@ -28,7 +28,7 @@ class RulesApiServices
public function getReferralRules()
{
try {
$data = ManageReferralRule::select('id', 'title', 'message')
$data = ManageReferralRule::select('id', 'how_it_works', 'rules')
->get()
->toArray();

View File

@@ -2,6 +2,7 @@ $(document).on("click", "#add_sub_admin_form_btn", function (e) {
$.validator.addMethod("lettersOnly", function (value, element) {
return this.optional(element) || /^[a-zA-Z\s]+$/.test(value);
}, "Please enter alphabetic characters only");
$('#add_sub_admin_form').validate({
ignore: [],
debug: false,
@@ -10,42 +11,39 @@ $(document).on("click", "#add_sub_admin_form_btn", function (e) {
sub_admin_name: {
required: true,
lettersOnly: true
},
sub_admin_lname: {
required: true,
lettersOnly: true
},
sub_admin_email: {
required: true,
email: true
},
password: {
required: true
}
,"module_id[]":{
required: true,
minlength: 8
},
"module_id[]": {
required: true
}
},
messages: {
sub_admin_name: {
required: 'Please enter this field',
},
sub_admin_lname: {
required: 'Please enter this field',
},
sub_admin_email: {
required: 'Please enter this field',
email: 'Please enter a valid email address'
},
password: {
required: 'Please enter this field'
required: 'Please enter this field',
minlength: 'Password must be at least 8 characters long'
},
"module_id[]":{
"module_id[]": {
required: 'Please enter this field'
}
},
@@ -53,7 +51,6 @@ $(document).on("click", "#add_sub_admin_form_btn", function (e) {
submitHandler: function (form) {
var formData = new FormData(form);
let base_url = url_path;
console.log(formData);
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
@@ -71,24 +68,31 @@ $(document).on("click", "#add_sub_admin_form_btn", function (e) {
contentType: false,
success: function (result) {
if (result.status_code == 200) {
toastr.success('Data Added Sucessfully');
toastr.success('Data Added Successfully');
setTimeout(function () {
window.location.href = base_url + "/manage-sub-admin";
}, 2000);
} else {
toastr.error('Something Went Wrong');
setTimeout(function () {
window.location.href = base_url + "/manage-sub-admin";
}, 2000);
toastr.error(result.messages);
$('#add_sub_admin_form_btn').attr('disabled', false);
$('#add_sub_admin_form_btn').text('Submit');
}
},
error: function(xhr) {
if (xhr.status === 422) {
var errors = JSON.parse(xhr.responseText).errors;
$.each(errors, function (key, value) {
toastr.error(value);
});
} else {
toastr.error('An error occurred: ' + xhr.responseText);
}
$('#add_sub_admin_form_btn').attr('disabled', false);
$('#add_sub_admin_form_btn').text('Submit');
},
}
});
// $('#add_sub_admin_form_btn').attr('disabled', false);
// $('#add_sub_admin_form_btn').text('Submit');
}
});
});

View File

@@ -27,41 +27,54 @@ $('#update_admin_btn').on("click", function (e) {
}
},
errorClass: 'error-message',
submitHandler: function(form) {
submitHandler: function (form) {
var formData = new FormData(form);
let base_url = url_path;
e.preventDefault(),
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
url: base_url + '/update_sub_admin',
type: 'POST',
data: formData,
beforeSend:function(){
beforeSend: function () {
$('#update_admin_btn').html('Please wait...');
$('#update_admin_btn').attr('disabled', true);
},
processData: false,
contentType: false,
success: function(result) {
success: function (result) {
if (result.status_code == 200) {
toastr.success('Data Updated Sucessfully');
setTimeout(function() {
setTimeout(function () {
window.location.href = base_url + "/manage-sub-admin";
}, 2000);
} else {
toastr.error('Something Went Wrong');
setTimeout(function() {
setTimeout(function () {
window.location.href = base_url + "/manage-sub-admin";
}, 2000);
}
$('#update_admin_btn').attr('disabled', false);
$('#update_admin_btn').text('Submit');
},
error: function (xhr) {
if (xhr.status === 422) {
var errors = JSON.parse(xhr.responseText).errors;
$.each(errors, function (key, value) {
toastr.error(value);
});
} else {
toastr.error('An error occurred: ' + xhr.responseText);
}
$('#update_admin_btn').attr('disabled', false);
$('#update_admin_btn').text('Submit');
}
});

View File

@@ -44,9 +44,9 @@
<label for="company-name" class="label">First Name</label>
<input type="text" class="form-control" name="sub_admin_name">
<span class="error-message" id="first_name_error"></span>
</div>
</div>
@@ -90,7 +90,7 @@
<div class="col-md-6">
<div class="form-group ">
<label class="label">Password</label>
<input type="text" class="form-control" name="password">
<input type="password" class="form-control" name="password">
</div>
</div>
<div class="col-md-12">