- New GoogleCalendar library: createEvent/updateEvent/deleteEvent via service account, all wrapped in try/catch so failures never break booking flow - booking_process: creates worker + owner calendar events on new booking - manage_booking_process: deletes old events, creates new ones on modify - manage_booking_cancel: deletes events before cancellation - Service_model: updateBookingCalEvents() stores gcal event IDs - Admin worker form: Google Calendar ID field added - PHPMailer: enabled exceptions (was silently swallowing SMTP errors) - Config: application/config/google_calendar.php for service account path + Evelin calendar ID DB migration required: ALTER TABLE workers ADD COLUMN google_calendar_id VARCHAR(255) NULL DEFAULT NULL; ALTER TABLE bookings ADD COLUMN gcal_event_id_worker VARCHAR(255) NULL DEFAULT NULL; ALTER TABLE bookings ADD COLUMN gcal_event_id_owner VARCHAR(255) NULL DEFAULT NULL; Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
66 lines
3.5 KiB
PHP
Executable File
66 lines
3.5 KiB
PHP
Executable File
<div class="mainContentContainer" style="top:100px">
|
|
<div class="pageTitle"><?php echo $pageTitle;?></div>
|
|
<form method="post" action="<?php echo base_url();?>workers/worker-process" enctype="multipart/form-data">
|
|
<input type="hidden" name ="worker_id" value="<?php echo $selectedItem->worker_id;?>">
|
|
<div class="formRow">
|
|
<label class="formTitle">Név</label>
|
|
<input type="text" class="formInputBox" name="worker_name" value="<?php echo $selectedItem->worker_name;?>">
|
|
</div>
|
|
<div class="formRow">
|
|
<img src="<?php echo SITEURL.'assets/img/workers/'.$selectedItem->worker_profile_img;?>" width="100px">
|
|
</div>
|
|
<div class="formRow">
|
|
<label class="formTitle">Profilkép</label>
|
|
<input type="file" class="formInputBox" name="worker_img">
|
|
</div>
|
|
<div class="formRow">
|
|
<label class="formTitle">Leírás</label>
|
|
<input type="text" class="formInputBox" name="worker_info" value="<?php echo $selectedItem->worker_info;?>">
|
|
</div>
|
|
<div class="formRow">
|
|
<label class="formTitle">Beauty</label>
|
|
<select class="formDropdownBox" style="padding:0;" name="is_beauty">
|
|
<option value="1" <?php echo $selectedItem->is_beauty?'selected':'';?>>igen</option>
|
|
<option value="0" <?php echo !$selectedItem->is_beauty?'selected':'';?>>nem</option>
|
|
</select>
|
|
</div>
|
|
<div class="formRow">
|
|
<label class="formTitle">Barber</label>
|
|
<select class="formDropdownBox" style="padding:0;" name="is_barber">
|
|
<option value="1" <?php echo $selectedItem->is_barber?'selected':'';?>>igen</option>
|
|
<option value="0" <?php echo !$selectedItem->is_barber?'selected':'';?>>nem</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="formRow">
|
|
<label class="formTitle">Szolgáltatás kategória</label>
|
|
<select class="formDropdownBox" style="padding:0;" name="service_category_id">
|
|
<?php
|
|
if(!empty($serviceCategories)){
|
|
foreach($serviceCategories as $serviceCategoryItem){
|
|
echo '<option value="'.$serviceCategoryItem->service_category_id.'" '.($selectedItem->service_category_id == $serviceCategoryItem->service_category_id?' selected':'').'>'.$serviceCategoryItem->serv_cat_name.'</option>';
|
|
}
|
|
}
|
|
?>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="formRow">
|
|
<label class="formTitle">Aktív</label>
|
|
<select class="formDropdownBox" style="padding:0;" name="is_active">
|
|
<option value="1" <?php echo $selectedItem->is_active?'selected':'';?>>igen</option>
|
|
<option value="0" <?php echo !$selectedItem->is_active?'selected':'';?>>nem</option>
|
|
</select>
|
|
</div>
|
|
<div class="formRow">
|
|
<label class="formTitle">Google Calendar ID</label>
|
|
<input type="text" class="formInputBox" name="google_calendar_id" value="<?php echo isset($selectedItem->google_calendar_id) ? $selectedItem->google_calendar_id : '';?>">
|
|
</div>
|
|
<div class="formRow">
|
|
<input type="submit" class="submitButton" name="updateWorker" value="Módosítás">
|
|
<a href="<?php echo base_url();?>workers" class="cancelButton">Mégsem</a>
|
|
</div>
|
|
</form>
|
|
|
|
</div>
|