001/* 002 * Copyright 2018 Anyware Services 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 017package org.ametys.plugins.contenttypeseditor.edition.clientsideelement; 018 019 020import org.apache.avalon.framework.service.ServiceException; 021import org.apache.avalon.framework.service.ServiceManager; 022 023import org.ametys.core.ui.Callable; 024import org.ametys.core.ui.StaticClientSideElement; 025import org.ametys.plugins.contenttypeseditor.edition.EditContentTypeInformationHelper; 026 027 028/** 029 * This class check if a content type is editable 030 */ 031public class EditContentTypeClientSideElement extends StaticClientSideElement 032{ 033 /** The edit content type component instance */ 034 protected EditContentTypeInformationHelper _editContentTypeHelper; 035 036 @Override 037 public void service(ServiceManager manager) throws ServiceException 038 { 039 super.service(manager); 040 _editContentTypeHelper = (EditContentTypeInformationHelper) manager.lookup(EditContentTypeInformationHelper.ROLE); 041 } 042 043 /** 044 * Check if a content type is editable 045 * @param contentTypeId Id of content type 046 * @return True if the content type is editable 047 */ 048 @Callable (right = "CMS_Rights_EditContentType", context = "/cms") 049 public boolean isEditableContentType(String contentTypeId) 050 { 051 return this._editContentTypeHelper.isEditableContentType(contentTypeId); 052 } 053}