Esempio n. 1
0
        /*
         * 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!");
            }
        }
Esempio n. 2
0
        public virtual void OnEdit(SynkContext context)
        {
            FetchEntityID(context);
            GenerateData(context);

            context.PushTemplate("crud/edit");
            context.Render();
        }
Esempio n. 3
0
        public virtual void OnDefault(SynkContext context)
        {
            FetchPage(context);
            GenerateData(context);

            context.PushTemplate("crud/list");
            context.Render();
        }
Esempio n. 4
0
        public virtual void OnClear(SynkContext context)
        {
            context.database.ClearEntities(_entityClass);

            FetchPage(context);
            GenerateData(context);

            context.PushTemplate("crud/list");
            context.Render();
        }
Esempio n. 5
0
        public virtual void OnDetail(SynkContext context)
        {
            long id;

            long.TryParse(context.request.GetVariable("entity"), out id);

            this.detail = context.database.FetchEntityByID(_entityClass, id);

            context.PushTemplate("crud/detail_" + _entityClass);
            context.Render();
        }
Esempio n. 6
0
        public void OnLogin(SynkContext context)
        {
            var username = context.loadVarFromRequest("username");
            var password = context.loadVarFromRequest("password");

            var dbName = context.config.GetFieldValue("database");
            var cond   = Condition.Equal("username", username);
            var user   = context.database.FetchEntity <User>(cond);

            string hash = null;

            if (user != null && user.exists)
            {
                hash = user.GetFieldValue("hash");
            }

            if (context.database.failed)
            {
                context.warning = "Database error!";
                context.PushTemplate("auth/default");
            }
            else
            if (user != null && user.exists && (string.IsNullOrEmpty(hash) || this.checkPassword(password, hash)))
            {
                if (context.config.GetFieldBool("instanced"))
                {
                    dbName = user.GetFieldValue("database");
                }

                context.LogIn(user.id, dbName);

                ShowDefaultPage(context);
                return;
            }
            else
            {
                if (user.exists)
                {
                    context.warning = "Dados de login invalidos!";
                }
                else
                {
                    context.warning = "Utilizador não existente!";
                }

                context.PushTemplate("auth/default");
            }

            context.Render();
        }
Esempio n. 7
0
        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();
            }
        }
Esempio n. 8
0
 public void OnDefault(SynkContext context)
 {
     context.PushTemplate("auth/default");
     context.Render();
 }