/* * public function filter($context) * { * $entityClass = $_REQUEST['class']; * $fieldName = $_REQUEST['field_name']; * $fieldValue = $_REQUEST['field_value']; * * $entity = $context->database->createEntity($context, $entityClass); * * //var_dump($_REQUEST); die(); * * $field = $entity->findField($fieldName); * * if (is_null($field)) * { * die("Invalid field for filtering"); * } * else * { * if (strpos($fieldValue, '*') !== false) * { * $op = 'like'; * } * else * { * $op = 'eq'; * } * * $condition = array($fieldName => array($op => $fieldValue)); * * $context->addFilter($condition); * $this->render($context); * } * } * * public function unfilter($context) * { * $id = $_REQUEST['id']; * //var_dump($_REQUEST); die(); * * $context->removeFilters(); * * $this->render($context); * } */ public virtual void OnRemove(SynkContext context) { long id; long.TryParse(context.request.GetVariable("entity"), out id); var entity = context.database.FetchEntityByID(_entityClass, id); if (entity.exists) { entity.Remove(context); FetchPage(context); GenerateData(context); if (this.entities != null && this.entities.Count <= 0 && this.currentPage > 0) { this.currentPage--; GenerateData(context); } context.PushTemplate("crud/list"); context.Render(); } else { context.die("Entity " + id + " not found!"); } }
public virtual void OnSave(SynkContext context) { long id; long.TryParse(context.request.GetVariable("entity"), out id); var entity = context.database.FetchEntityByID(_entityClass, id); foreach (var field in entity.fields) { if (context.request.HasVariable(field.name)) { var val = context.request.GetVariable(field.name); if (field.formType.Equals("date")) { int year, month, day; var temp = val.Split('-'); int.TryParse(temp[0], out year); int.TryParse(temp[1], out month); int.TryParse(temp[2], out day); DateTime date = new DateTime(year, month, day); val = date.ToTimestamp().ToString(); } entity.SetFieldValue(field.name, val); } } if (entity.Save(context)) { FetchPage(context); GenerateData(context); context.PushTemplate("crud/list"); context.Render(); } else { if (string.IsNullOrEmpty(context.error) && !context.WaitingForConfirmation()) { context.error = "Entity saving entity"; } context.die(); } }
public override void OnDetail(SynkContext context) { long id; long.TryParse(context.request.GetVariable("entity"), out id); var file = context.database.FetchEntityByID <File>(id); if (file.exists) { var fileName = file.GetFieldValue("real_name"); var bytes = file.GetBytes(context); context.SendDownload(fileName, bytes); } else { context.die("File not found, id " + id); } }