001 /**
002 * Copyright 2005-2012 The Kuali Foundation
003 *
004 * Licensed under the Educational Community 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.opensource.org/licenses/ecl2.php
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 package org.kuali.rice.edl.impl.lookupable;
017
018 import org.kuali.rice.core.api.config.property.ConfigContext;
019 import org.kuali.rice.edl.impl.UserAction;
020 import org.kuali.rice.edl.impl.bo.EDocLiteAssociation;
021 import org.kuali.rice.kns.lookup.HtmlData;
022 import org.kuali.rice.kns.lookup.KualiLookupableHelperServiceImpl;
023 import org.kuali.rice.kns.web.struts.form.LookupForm;
024 import org.kuali.rice.krad.bo.BusinessObject;
025 import org.kuali.rice.krad.util.UrlFactory;
026
027 import java.util.ArrayList;
028 import java.util.Collection;
029 import java.util.List;
030 import java.util.Properties;
031
032 /**
033 * This is a description of what this class does - sp20369 don't forget to fill this in.
034 *
035 * @author Kuali Rice Team (rice.collab@kuali.org)
036 *
037 */
038
039 public class EDocLiteLookupableHelperServiceImpl extends KualiLookupableHelperServiceImpl { //KualiLookupableHelperServiceImpl {
040
041 private static final long serialVersionUID = 3157354920258155881L;
042
043 /**
044 * @returns links to "Create Document" action for the current edoclite
045 */
046 @Override
047 public List<HtmlData> getCustomActionUrls(BusinessObject businessObject, List pkNames) {
048 List<HtmlData> anchorHtmlDataList = new ArrayList<HtmlData>();
049 anchorHtmlDataList.add(getCreateDocumentUrl((EDocLiteAssociation) businessObject));
050 return anchorHtmlDataList;
051 }
052
053 protected HtmlData getCreateDocumentUrl(EDocLiteAssociation edlAssociation) {
054 String href = "";
055
056 Properties parameters = new Properties();
057 parameters.put("userAction", UserAction.ACTION_CREATE);
058 parameters.put("edlName", edlAssociation.getEdlName());
059 href = UrlFactory.parameterizeUrl(
060 ConfigContext.getCurrentContextConfig().getKEWBaseURL()+"/EDocLite",
061 parameters);
062
063 HtmlData.AnchorHtmlData anchorHtmlData = new HtmlData.AnchorHtmlData(href, null, "Create Document");
064 return anchorHtmlData;
065 }
066
067 /**
068 * Since we don't have a maintenance document for EDocLiteAssociations, we need to
069 * set showMaintenanceLinks to true manually. Otherwise our "Create Document" link
070 * won't show up.
071 */
072 @Override
073 public Collection performLookup(LookupForm lookupForm,
074 Collection resultTable, boolean bounded) {
075 lookupForm.setShowMaintenanceLinks(true);
076 return super.performLookup(lookupForm, resultTable, bounded);
077 }
078
079 }