Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as Java by MOhammed ( 15 years ago )
package com.onenetwork.transportation.rest.listener;
import org.json.JSONArray;
import org.json.JSONObject;
import com.onenetwork.platform.common.DimensionType;
import com.onenetwork.platform.common.FieldDef;
import com.onenetwork.platform.data.model.Model;
import com.onenetwork.platform.integ.rest.model.BaseModelResourceListener;
import com.onenetwork.platform.integ.rest.model.ModelFormJSONObject;
import com.onenetwork.platform.integ.rest.model.ModelResourceListener;
import com.onenetwork.transportation.data.ContractDataAccessor;
import com.onenetwork.transportation.model.CostComponent;
import com.onenetwork.transportation.model.dao.TmsContractRow;
import com.transcendsys.platform.base.dao.OrganizationRow;
import com.transcendsys.platform.base.field.FieldDefFactory;
import com.transcendsys.platform.rest.report.ModelLinkJSONObject;
import com.transcendsys.platform.rest.util.FieldJsonHelper;
import com.transcendsys.platform.server.cache.manager.OrganizationCacheManager;
import com.transcendsys.platform.web.profile.UserProfile;
@ModelResourceListener(modelLevelType = "TMS.CostComponent", customModelName = "CostComponent")
public class CostComponentModelResourceListener extends BaseModelResourceListener {
private CostComponent costComponent;
@Override
public void onViewExecuted(String viewName, Long sysId, ModelFormJSONObject jsonToReturn) {
JSONArray fields = jsonToReturn.getFields();
ModelLinkJSONObject contractObj = (ModelLinkJSONObject) jsonToReturn.getModel().get("Contract");
addCarrierField(contractObj.getValue(), jsonToReturn, fields);
}
@Override
public void onActionScreenExecuted(String actionName, Long sysId, Model model) {
costComponent = (CostComponent)model;
}
@Override
public void onActionScreenExecuted(String actionName, Long sysId, ModelFormJSONObject jsonToReturn) {
ModelLinkJSONObject contractObj = (ModelLinkJSONObject) jsonToReturn.getModel().get("Contract");
addCarrierField(contractObj.getValue(), jsonToReturn, jsonToReturn.getFields());
}
@Override
public void beforeActionExecuted(String actionName, JSONObject modelJSON, Model model) {
}
private void addCarrierField(Long sysContractId, ModelFormJSONObject jsonToReturn, JSONArray fields) {
TmsContractRow contractRow = ContractDataAccessor.getContractDao(sysContractId, null);
OrganizationRow carrierOrgRow = OrganizationCacheManager.getInstance().getOrganization(
contractRow.getSysServicingOrgId(),
null);
FieldDef carrierField = FieldDefFactory.createAdHocDimensionFieldDef("Carrier", DimensionType.ORGANIZATION);
carrierField.setEditable(false);
carrierField.setOptional(true);
FieldJsonHelper fieldJsonHelper = new FieldJsonHelper((UserProfile) userProfile);
JSONObject carrierfield = fieldJsonHelper.getEditableFieldJSON(carrierField);
fields.put(carrierfield);
ModelLinkJSONObject carrierVal = new ModelLinkJSONObject();
carrierVal.setValue(sysContractId);
carrierVal.setDisplayValue(carrierOrgRow.getOrgName());
jsonToReturn.getModel().put("Undefined$Carrier", carrierVal);
}
}
Revise this Paste