Пример #1
0
        public ActionResult TogglePublish(bool toOn, int id)
        {
            using (var formManager = new FormManager())
            {
                // var form = this._formRepo.GetByPrimaryKey(id);
                var template = formManager.FindTemplate(id);

                if (template.TemplateFields.Count() > 0)
                {
                    template.Status = toOn ? Constants.TemplateStatus.PUBLISHED.ToString() : Constants.TemplateStatus.DRAFT.ToString();

                    //this._formRepo.SaveChanges();
                    if (toOn)
                    {
                        TempData["success"] = "This form has been published and is now live";
                    }
                    else
                    {
                        TempData["success"] = "This form is now offline";
                    }
                }
                else
                {
                    TempData["error"] = "Cannot publish form until fields have been added.";
                }

                return(RedirectToAction("editTemplate", new { id = template.TemplateID }));
            }
        }
Пример #2
0
        //[SSl]


        public ActionResult ViewSaveTemplate(int id, string entryId, bool embed = false)
        {
            using (var formManager = new FormManager())
            {
                TemplateViewModel model = null;

                var template = formManager.FindTemplate(id);

                if (template != null)
                {
                    model       = TemplateViewModel.CreateFromObject(template, Constants.TemplateFieldMode.INPUT);
                    model.Embed = embed;

                    foreach (var field in model.Fields)
                    {
                        field.EntryId = entryId;
                    }

                    return(View("FillIn", model));
                }

                else
                {
                    return(RedirectToError("invalid id"));
                }
            }
        }
Пример #3
0
        public ActionResult PreviewTemplate(int id)
        {
            if (!IsUserAuthenticated())
            {
                //TODO - View Form Authentication
                // return RedirectToLogin();
            }

            using (var formManager = new FormManager())
            {
                Template template = formManager.FindTemplate(id);

                if (template != null)
                {
                    TemplateViewModel model = TemplateViewModel.CreateFromObject(template, Constants.TemplateFieldMode.INPUT);
                    return(View(model));
                }
                else
                {
                    return(RedirectToError("invalid id"));
                }
            }
        }
Пример #4
0
        public ActionResult UpdateTemplate(bool isAutoSave, [Bind(Include = "TemplateID,NotificationEmail,Status,ConfirmationMessage,Theme,IsQuestion")] TemplateViewModel model, FormCollection collection, IDictionary <string, string> Fields)
        {
            if (!model.TemplateID.HasValue)
            {
                return(Json(new { success = false, error = "Unable to save changes. A valid form was not detected.", isautosave = isAutoSave }));
            }

            if (Fields == null)
            {
                return(Json(new { success = false, error = "Unable to detect field values.", isautosave = isAutoSave }));
            }

            if (!model.NotificationEmail.IsNullOrEmpty() && !model.NotificationEmail.IsValidEmail())
            {
                return(Json(new { success = false, error = "Invalid format for Notification Email.", isautosave = isAutoSave }));
            }

            try
            {
                using (var manager = new FormManager(GetLoginUser()))
                {
                    manager.UpdateTemplate(model, collection, Fields);

                    var template = manager.FindTemplate(model.TemplateID.Value);

                    var fieldOrderById = template.TemplateFields.Select(ff => new { domid = ff.DomId, id = ff.TemplateFieldID });

                    return(Json(new { success = true, message = "Your changes were saved.", isautosave = isAutoSave, fieldids = fieldOrderById }));
                }
            }
            catch
            {
                //TODO: log error
                // var error = "Unable to save form ".AppendIfDebugMode(ex.ToString());
                return(Json(new { success = false, error = "Unable to save template ", isautosave = isAutoSave }));
            }
        }