예제 #1
0
 public PagedGridRunner(TGrid grid, TDataSource source, IProjectionRunner <T> runner, IFieldAccessService accessService)
 {
     _grid          = grid;
     _source        = source;
     _runner        = runner;
     _accessService = accessService;
 }
        string IGridDefinition.ToColumnJson(IFieldAccessService accessService)
        {
            var rights =
                new Cache <IGridColumn, AccessRight>(col => accessService.RightsFor(null, col.Accessor.InnerProperty));

            var builder = new StringBuilder();

            builder.Append("[");
            var columns = _columns.Where(col => !rights[col].Equals(AccessRight.None)).OrderByDescending(x => x.IsFrozen).ToList();

            for (var i = 0; i < columns.Count - 1; i++)
            {
                var column = columns[i];
                column.WriteColumn(builder, rights[column]);
                builder.Append(", ");
            }

            var lastColumn = columns.Last();

            lastColumn.WriteColumn(builder, rights[lastColumn]);

            builder.Append("]");

            return(builder.ToString());
        }
예제 #3
0
 public FormLineExpressionBuilder(IElementGenerator <T> generator, HtmlConventionLibrary library, ActiveProfile profile, IFieldAccessService fieldAccessService, IFubuRequest request)
 {
     _generator          = generator;
     _library            = library;
     _profile            = profile;
     _fieldAccessService = fieldAccessService;
     _request            = request;
 }
예제 #4
0
 public GridTagWriter(IColumnPolicies policies, ITemplateWriter templates, IAssetRequirements assets, IUrlRegistry urls, T grid, IFieldAccessService accessService)
 {
     _policies      = policies;
     _templates     = templates;
     _assets        = assets;
     _urls          = urls;
     _grid          = grid;
     _accessService = accessService;
 }
        public PropertyUpdater(IFieldAccessService fieldAccess, IRepository repository, IValidator validator,
                               IPropertyUpdateLogger <TEntity> logger, ISimplePropertyHandler <TEntity> simpleHandler,
                               IEnumerable <IPropertyHandler <TEntity> > handlers)
        {
            _fieldAccess = fieldAccess;
            _repository  = repository;
            _validator   = validator;
            _logger      = logger;
            _handlers.AddRange(handlers);

            _handlers.Add(simpleHandler);
        }
예제 #6
0
 public static bool HasRights <T>(this IFieldAccessService fieldAccessService, T model, Expression <Func <T, object> > expression, AccessRight requiredRights)
 {
     return(fieldAccessService.RightsFor(model, expression.ToAccessor().InnerProperty) >= requiredRights);
 }
예제 #7
0
 public static AccessRight RightsFor <T>(this IFieldAccessService fieldAccessService, T model, Expression <Func <T, object> > expression)
 {
     return(fieldAccessService.RightsFor(model, expression.ToAccessor().InnerProperty));
 }
예제 #8
0
        public void SetUp()
        {
            tags = new StubTagGenerator<ViewModel>();
            _expression = null;

            page = MockRepository.GenerateMock<IFubuPage<ViewModel>>();
            page.Stub(x => x.Get<ITagGenerator<ViewModel>>()).Return(tags);
            page.Stub(x => x.Model).Return(new ViewModel());

            fieldAccess = MockRepository.GenerateMock<IFieldAccessService>();
            page.Stub(x => x.Get<IFieldAccessService>()).Return(fieldAccess);
        }
        public Projection <T> ToProjection(IFieldAccessService accessService)
        {
            Func <Accessor, bool> filter = a => !accessService.RightsFor(null, a.InnerProperty).Equals(AccessRight.None);

            return(Projection.Filter(filter));
        }
 public string ToColumnJson(IFieldAccessService accessService)
 {
     throw new NotImplementedException();
 }
 public Projection <Foo> ToProjection(IFieldAccessService accessService)
 {
     return(Projection);
 }