All Downloads are FREE. Search and download functionalities are using the official Maven repository.

in.succinct.plugins.ecommerce.extensions.participant.UnitOfMeasureParticipantExtension Maven / Gradle / Ivy

The newest version!
package in.succinct.plugins.ecommerce.extensions.participant;

import in.succinct.plugins.ecommerce.db.model.catalog.UnitOfMeasure;
import in.succinct.plugins.ecommerce.db.model.catalog.UnitOfMeasureConversionTable;
import com.venky.swf.db.Database;
import com.venky.swf.db.extensions.ParticipantExtension;
import com.venky.swf.db.model.User;
import com.venky.swf.db.model.reflection.ModelReflector;
import com.venky.swf.pm.DataSecurityFilter;
import com.venky.swf.sql.Expression;
import com.venky.swf.sql.Operator;

import java.util.List;


public class UnitOfMeasureParticipantExtension extends ParticipantExtension{
	static  {
		registerExtension(new UnitOfMeasureParticipantExtension());
	}
	@Override
	protected List getAllowedFieldValues(User user, UnitOfMeasureConversionTable partiallyFilledModel, String fieldName) {
		if (fieldName.equals("FROM_ID")){
			if (!Database.getJdbcTypeHelper(getReflector().getPool()).isVoid(partiallyFilledModel.getToId())){
				ModelReflector ref = ModelReflector.instance(UnitOfMeasure.class);
				return DataSecurityFilter.getIds(DataSecurityFilter.getRecordsAccessible(UnitOfMeasure.class, user,
						new Expression(ref.getPool(), "MEASURES",Operator.EQ, partiallyFilledModel.getTo().getMeasures())));
			}else{
				return DataSecurityFilter.getIds(DataSecurityFilter.getRecordsAccessible(UnitOfMeasure.class, user));
			}
		}else if (fieldName.equals("TO_ID")){
			if (!Database.getJdbcTypeHelper(getReflector().getPool()).isVoid(partiallyFilledModel.getFromId())){
				ModelReflector ref = ModelReflector.instance(UnitOfMeasure.class);
				return DataSecurityFilter.getIds(DataSecurityFilter.getRecordsAccessible(UnitOfMeasure.class, user,
						new Expression(ref.getPool(), "MEASURES",Operator.EQ, partiallyFilledModel.getFrom().getMeasures())));
			}else{
				return DataSecurityFilter.getIds(DataSecurityFilter.getRecordsAccessible(UnitOfMeasure.class, user));
			}
		}
		return null;
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy