Wagtail custom flow
I'm trying to determine the best way to do the following using the CMS (i.e. I don't want to create a custom front-end to do this).
I have a client model and a test model. A test belongs to a client (many tests to one client).
I want the user to be able to create a client. That part is simple, done. Now from the client edit view I want the user to be able to a) see a list of all tests, b) create a new test, c) start a test that hasn't yet been started, and then d) end a started test. A test should be able to created in a non-started state. Starting the test should set a starttime field and ending the test should set the end time. Once a test has been started you shouldn't be able to start it (if there's a start button it shouldn't be accessible anymore). Once a test has been ended you shouldn't be able to start or end it (both buttons should be gone).
My primary thought was to use an InlinePanel to incorporate tests into the Client edit view. Did that. Great. Turns out it's quite difficult to implement any kind of custom functionality within individual items of the panel. For example, including a start or end button seems difficult to do.
Should I create a custom InlinePanel to do this? Or do I need to create a custom view? If I create a custom view does that mean I have to create a completely custom template? Does that mean I can no longer use EditHandler classes?
What would be the lowest barrier-to-entry and recommended way to do this?
wagtail
add a comment |
I'm trying to determine the best way to do the following using the CMS (i.e. I don't want to create a custom front-end to do this).
I have a client model and a test model. A test belongs to a client (many tests to one client).
I want the user to be able to create a client. That part is simple, done. Now from the client edit view I want the user to be able to a) see a list of all tests, b) create a new test, c) start a test that hasn't yet been started, and then d) end a started test. A test should be able to created in a non-started state. Starting the test should set a starttime field and ending the test should set the end time. Once a test has been started you shouldn't be able to start it (if there's a start button it shouldn't be accessible anymore). Once a test has been ended you shouldn't be able to start or end it (both buttons should be gone).
My primary thought was to use an InlinePanel to incorporate tests into the Client edit view. Did that. Great. Turns out it's quite difficult to implement any kind of custom functionality within individual items of the panel. For example, including a start or end button seems difficult to do.
Should I create a custom InlinePanel to do this? Or do I need to create a custom view? If I create a custom view does that mean I have to create a completely custom template? Does that mean I can no longer use EditHandler classes?
What would be the lowest barrier-to-entry and recommended way to do this?
wagtail
add a comment |
I'm trying to determine the best way to do the following using the CMS (i.e. I don't want to create a custom front-end to do this).
I have a client model and a test model. A test belongs to a client (many tests to one client).
I want the user to be able to create a client. That part is simple, done. Now from the client edit view I want the user to be able to a) see a list of all tests, b) create a new test, c) start a test that hasn't yet been started, and then d) end a started test. A test should be able to created in a non-started state. Starting the test should set a starttime field and ending the test should set the end time. Once a test has been started you shouldn't be able to start it (if there's a start button it shouldn't be accessible anymore). Once a test has been ended you shouldn't be able to start or end it (both buttons should be gone).
My primary thought was to use an InlinePanel to incorporate tests into the Client edit view. Did that. Great. Turns out it's quite difficult to implement any kind of custom functionality within individual items of the panel. For example, including a start or end button seems difficult to do.
Should I create a custom InlinePanel to do this? Or do I need to create a custom view? If I create a custom view does that mean I have to create a completely custom template? Does that mean I can no longer use EditHandler classes?
What would be the lowest barrier-to-entry and recommended way to do this?
wagtail
I'm trying to determine the best way to do the following using the CMS (i.e. I don't want to create a custom front-end to do this).
I have a client model and a test model. A test belongs to a client (many tests to one client).
I want the user to be able to create a client. That part is simple, done. Now from the client edit view I want the user to be able to a) see a list of all tests, b) create a new test, c) start a test that hasn't yet been started, and then d) end a started test. A test should be able to created in a non-started state. Starting the test should set a starttime field and ending the test should set the end time. Once a test has been started you shouldn't be able to start it (if there's a start button it shouldn't be accessible anymore). Once a test has been ended you shouldn't be able to start or end it (both buttons should be gone).
My primary thought was to use an InlinePanel to incorporate tests into the Client edit view. Did that. Great. Turns out it's quite difficult to implement any kind of custom functionality within individual items of the panel. For example, including a start or end button seems difficult to do.
Should I create a custom InlinePanel to do this? Or do I need to create a custom view? If I create a custom view does that mean I have to create a completely custom template? Does that mean I can no longer use EditHandler classes?
What would be the lowest barrier-to-entry and recommended way to do this?
wagtail
wagtail
asked Nov 25 '18 at 23:38
overgrooveovergroove
3781314
3781314
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53473101%2fwagtail-custom-flow%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53473101%2fwagtail-custom-flow%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown