[英]Delete button show only user which book event and Admin in fullcalendar.js
我正在使用fullCalendar.js和codeigniter的反手来制作事件预订系统,首先有2个角色的用户和Admin,用户可以预订事件并删除事件,但是我只想显示删除按钮Admin和预订事件的用户。 所以任何人都可以告诉我这怎么可能。模式框中的删除按钮并显示在Calendar的eventClick上。我的HTML和javascript是
<div id="calendarModal" class="modal fade">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Event Details</h4>
</div>
</div>
<input type="hidden" id="eventID"/>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Cancel</button>
<button type="submit" class="btn btn-danger" id="deleteButton">Delete</button>
</div>
</div>
// ---------------------- Javascript ------------------------- ------
$('#deleteButton').on('click', function(){
// delete button
doDelete();
});
function doDelete(){
$("#calendarModal").modal('hide');
var eventID = $('#eventID').val();
var baseUrl = document.location.origin;
$.ajax({
url: baseUrl+'/mrbs/api/post_api',//
data: 'action=delete&id='+eventID,
type: "POST",
});
$('#calendar').fullCalendar('refetchEvents');
}
提前致谢 ........:)
您可能应该控制服务器端的删除按钮的显示,而不是客户端上的Javascript。 这意味着在渲染模态时使用Codeigniter,例如:
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Cancel</button>
<?php if ( ... test if user is admin ... ) { ?>
<button type="submit" class="btn btn-danger" id="deleteButton">Delete</button>
<?php } ?>
</div>
在实际执行删除操作之前,还应该在控制器方法( /mrbs/api/post_api
)中确认用户是管理员。
更新
如果只想显示当前用户创建的事件,则应在服务器端事件源上进行处理。 您尚未发布Fullcalendar代码,但必须具有以下内容:
$('#calendar').fullCalendar({
// ... code
events: "some/path/to/server-side-json",
});
在some/path/to/server-side-json
控制器方法中,检查进行此查询的用户的用户ID,仅返回该用户创建的事件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.