Skip to content

Course prerequisites - #858

Open
rgroves wants to merge 15 commits into
WeAllCode:mainfrom
rgroves:feature/course-prerequisites
Open

Course prerequisites#858
rgroves wants to merge 15 commits into
WeAllCode:mainfrom
rgroves:feature/course-prerequisites

Conversation

@rgroves

@rgrovesrgroves commented Feb 2, 2021

Copy link
Copy Markdown
Contributor

With this PR:

  • Courses can be assigned prerequisites
  • Registration for a session will only be allowed if a student has the necessary prerequisites
  • If a student still needs to take one or more of the prerequisites, buttons will be displayed for each prerequisite
    • where an upcoming session is scheduled for a prerequisite, its button will be active
  • The upcoming classes list on the Programs page will list prerequisites associated with the class for the session

This partially addresses #816. The outstanding item needed to close this out is related to the Courses list on the Programs page, will comment on the issue with details.

This will allow for specifiying prerequisites for a course.
The new method allows for retrieval of course details for all outstanding prerequisites a student needs for a session.
This adds a dictionary (keyed by Course id) of Session details to the view's context.
These session details are for future sessions being held for prerequisites of the current session.
This detail facilitates adding prerequisite buttons to the registration form when a student is missing one or more of the prerequisites required.
The tag will now disable the enroll button when a student does not meet the prerequisites for a session.
It will also add buttons for prerequisite course sessions.
These buttons will navigate to the registration page of an upcoming session for the prerequisite, if avaialable.
Will now programmatically list prerequisites associated with a class.
@rgroves
rgroves requested a review from karbassiFebruary 2, 2021 23:22
@rgrovesrgroves mentioned this pull request Feb 2, 2021
4 tasks
This class name was accidentally left in from when I was still playing around with the look of things.
@karbassikarbassi changed the title Feature/course prerequisitesCourse prerequisitesFeb 12, 2021
@karbassi
karbassi temporarily deployed to website-feature-course--2ytozk February 18, 2021 03:11 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 03:13 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 03:56 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 04:19 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 04:25 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 04:27 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 23, 2021 02:17 Inactive
@rgroves

Copy link
Copy Markdown
ContributorAuthor

@karbassi I have added the prerequisites to the class view templates for the guardian and public views. I didn't think it made sense for the mentor view—don't want to have someone think they can't mentor a class before mentoring for a prerequisite class. If you don't agree with this let me know and I'll add it to the mentor's class view template as well.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@rgroves@karbassi
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Course prerequisites by rgroves · Pull Request #858 · WeAllCode/website · GitHub
Skip to content

Course prerequisites - #858

Open
rgroves wants to merge 15 commits into
WeAllCode:mainfrom
rgroves:feature/course-prerequisites
Open

Course prerequisites#858
rgroves wants to merge 15 commits into
WeAllCode:mainfrom
rgroves:feature/course-prerequisites

Conversation

@rgroves

@rgrovesrgroves commented Feb 2, 2021

Copy link
Copy Markdown
Contributor

With this PR:

  • Courses can be assigned prerequisites
  • Registration for a session will only be allowed if a student has the necessary prerequisites
  • If a student still needs to take one or more of the prerequisites, buttons will be displayed for each prerequisite
    • where an upcoming session is scheduled for a prerequisite, its button will be active
  • The upcoming classes list on the Programs page will list prerequisites associated with the class for the session

This partially addresses #816. The outstanding item needed to close this out is related to the Courses list on the Programs page, will comment on the issue with details.

This will allow for specifiying prerequisites for a course.
The new method allows for retrieval of course details for all outstanding prerequisites a student needs for a session.
This adds a dictionary (keyed by Course id) of Session details to the view's context.
These session details are for future sessions being held for prerequisites of the current session.
This detail facilitates adding prerequisite buttons to the registration form when a student is missing one or more of the prerequisites required.
The tag will now disable the enroll button when a student does not meet the prerequisites for a session.
It will also add buttons for prerequisite course sessions.
These buttons will navigate to the registration page of an upcoming session for the prerequisite, if avaialable.
Will now programmatically list prerequisites associated with a class.
@rgroves
rgroves requested a review from karbassiFebruary 2, 2021 23:22
@rgrovesrgroves mentioned this pull request Feb 2, 2021
4 tasks
This class name was accidentally left in from when I was still playing around with the look of things.
@karbassikarbassi changed the title Feature/course prerequisitesCourse prerequisitesFeb 12, 2021
@karbassi
karbassi temporarily deployed to website-feature-course--2ytozk February 18, 2021 03:11 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 03:13 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 03:56 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 04:19 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 04:25 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 04:27 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 23, 2021 02:17 Inactive
@rgroves

Copy link
Copy Markdown
ContributorAuthor

@karbassi I have added the prerequisites to the class view templates for the guardian and public views. I didn't think it made sense for the mentor view—don't want to have someone think they can't mentor a class before mentoring for a prerequisite class. If you don't agree with this let me know and I'll add it to the mentor's class view template as well.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@rgroves@karbassi
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Course prerequisites by rgroves · Pull Request #858 · WeAllCode/website · GitHub
Skip to content

Course prerequisites - #858

Open
rgroves wants to merge 15 commits into
WeAllCode:mainfrom
rgroves:feature/course-prerequisites
Open

Course prerequisites#858
rgroves wants to merge 15 commits into
WeAllCode:mainfrom
rgroves:feature/course-prerequisites

Conversation

@rgroves

@rgrovesrgroves commented Feb 2, 2021

Copy link
Copy Markdown
Contributor

With this PR:

  • Courses can be assigned prerequisites
  • Registration for a session will only be allowed if a student has the necessary prerequisites
  • If a student still needs to take one or more of the prerequisites, buttons will be displayed for each prerequisite
    • where an upcoming session is scheduled for a prerequisite, its button will be active
  • The upcoming classes list on the Programs page will list prerequisites associated with the class for the session

This partially addresses #816. The outstanding item needed to close this out is related to the Courses list on the Programs page, will comment on the issue with details.

This will allow for specifiying prerequisites for a course.
The new method allows for retrieval of course details for all outstanding prerequisites a student needs for a session.
This adds a dictionary (keyed by Course id) of Session details to the view's context.
These session details are for future sessions being held for prerequisites of the current session.
This detail facilitates adding prerequisite buttons to the registration form when a student is missing one or more of the prerequisites required.
The tag will now disable the enroll button when a student does not meet the prerequisites for a session.
It will also add buttons for prerequisite course sessions.
These buttons will navigate to the registration page of an upcoming session for the prerequisite, if avaialable.
Will now programmatically list prerequisites associated with a class.
@rgroves
rgroves requested a review from karbassiFebruary 2, 2021 23:22
@rgrovesrgroves mentioned this pull request Feb 2, 2021
4 tasks
This class name was accidentally left in from when I was still playing around with the look of things.
@karbassikarbassi changed the title Feature/course prerequisitesCourse prerequisitesFeb 12, 2021
@karbassi
karbassi temporarily deployed to website-feature-course--2ytozk February 18, 2021 03:11 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 03:13 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 03:56 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 04:19 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 04:25 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 04:27 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 23, 2021 02:17 Inactive
@rgroves

Copy link
Copy Markdown
ContributorAuthor

@karbassi I have added the prerequisites to the class view templates for the guardian and public views. I didn't think it made sense for the mentor view—don't want to have someone think they can't mentor a class before mentoring for a prerequisite class. If you don't agree with this let me know and I'll add it to the mentor's class view template as well.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@rgroves@karbassi
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Course prerequisites by rgroves · Pull Request #858 · WeAllCode/website · GitHub
Skip to content

Course prerequisites - #858

Open
rgroves wants to merge 15 commits into
WeAllCode:mainfrom
rgroves:feature/course-prerequisites
Open

Course prerequisites#858
rgroves wants to merge 15 commits into
WeAllCode:mainfrom
rgroves:feature/course-prerequisites

Conversation

@rgroves

@rgrovesrgroves commented Feb 2, 2021

Copy link
Copy Markdown
Contributor

With this PR:

  • Courses can be assigned prerequisites
  • Registration for a session will only be allowed if a student has the necessary prerequisites
  • If a student still needs to take one or more of the prerequisites, buttons will be displayed for each prerequisite
    • where an upcoming session is scheduled for a prerequisite, its button will be active
  • The upcoming classes list on the Programs page will list prerequisites associated with the class for the session

This partially addresses #816. The outstanding item needed to close this out is related to the Courses list on the Programs page, will comment on the issue with details.

This will allow for specifiying prerequisites for a course.
The new method allows for retrieval of course details for all outstanding prerequisites a student needs for a session.
This adds a dictionary (keyed by Course id) of Session details to the view's context.
These session details are for future sessions being held for prerequisites of the current session.
This detail facilitates adding prerequisite buttons to the registration form when a student is missing one or more of the prerequisites required.
The tag will now disable the enroll button when a student does not meet the prerequisites for a session.
It will also add buttons for prerequisite course sessions.
These buttons will navigate to the registration page of an upcoming session for the prerequisite, if avaialable.
Will now programmatically list prerequisites associated with a class.
@rgroves
rgroves requested a review from karbassiFebruary 2, 2021 23:22
@rgrovesrgroves mentioned this pull request Feb 2, 2021
4 tasks
This class name was accidentally left in from when I was still playing around with the look of things.
@karbassikarbassi changed the title Feature/course prerequisitesCourse prerequisitesFeb 12, 2021
@karbassi
karbassi temporarily deployed to website-feature-course--2ytozk February 18, 2021 03:11 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 03:13 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 03:56 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 04:19 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 04:25 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 04:27 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 23, 2021 02:17 Inactive
@rgroves

Copy link
Copy Markdown
ContributorAuthor

@karbassi I have added the prerequisites to the class view templates for the guardian and public views. I didn't think it made sense for the mentor view—don't want to have someone think they can't mentor a class before mentoring for a prerequisite class. If you don't agree with this let me know and I'll add it to the mentor's class view template as well.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@rgroves@karbassi
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' Course prerequisites by rgroves · Pull Request #858 · WeAllCode/website · GitHub
Skip to content

Course prerequisites - #858

Open
rgroves wants to merge 15 commits into
WeAllCode:mainfrom
rgroves:feature/course-prerequisites
Open

Course prerequisites#858
rgroves wants to merge 15 commits into
WeAllCode:mainfrom
rgroves:feature/course-prerequisites

Conversation

@rgroves

@rgrovesrgroves commented Feb 2, 2021

Copy link
Copy Markdown
Contributor

With this PR:

  • Courses can be assigned prerequisites
  • Registration for a session will only be allowed if a student has the necessary prerequisites
  • If a student still needs to take one or more of the prerequisites, buttons will be displayed for each prerequisite
    • where an upcoming session is scheduled for a prerequisite, its button will be active
  • The upcoming classes list on the Programs page will list prerequisites associated with the class for the session

This partially addresses #816. The outstanding item needed to close this out is related to the Courses list on the Programs page, will comment on the issue with details.

This will allow for specifiying prerequisites for a course.
The new method allows for retrieval of course details for all outstanding prerequisites a student needs for a session.
This adds a dictionary (keyed by Course id) of Session details to the view's context.
These session details are for future sessions being held for prerequisites of the current session.
This detail facilitates adding prerequisite buttons to the registration form when a student is missing one or more of the prerequisites required.
The tag will now disable the enroll button when a student does not meet the prerequisites for a session.
It will also add buttons for prerequisite course sessions.
These buttons will navigate to the registration page of an upcoming session for the prerequisite, if avaialable.
Will now programmatically list prerequisites associated with a class.
@rgroves
rgroves requested a review from karbassiFebruary 2, 2021 23:22
@rgrovesrgroves mentioned this pull request Feb 2, 2021
4 tasks
This class name was accidentally left in from when I was still playing around with the look of things.
@karbassikarbassi changed the title Feature/course prerequisitesCourse prerequisitesFeb 12, 2021
@karbassi
karbassi temporarily deployed to website-feature-course--2ytozk February 18, 2021 03:11 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 03:13 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 03:56 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 04:19 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 04:25 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 04:27 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 23, 2021 02:17 Inactive
@rgroves

Copy link
Copy Markdown
ContributorAuthor

@karbassi I have added the prerequisites to the class view templates for the guardian and public views. I didn't think it made sense for the mentor view—don't want to have someone think they can't mentor a class before mentoring for a prerequisite class. If you don't agree with this let me know and I'll add it to the mentor's class view template as well.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@rgroves@karbassi
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Course prerequisites by rgroves · Pull Request #858 · WeAllCode/website · GitHub
Skip to content

Course prerequisites - #858

Open
rgroves wants to merge 15 commits into
WeAllCode:mainfrom
rgroves:feature/course-prerequisites
Open

Course prerequisites#858
rgroves wants to merge 15 commits into
WeAllCode:mainfrom
rgroves:feature/course-prerequisites

Conversation

@rgroves

@rgrovesrgroves commented Feb 2, 2021

Copy link
Copy Markdown
Contributor

With this PR:

  • Courses can be assigned prerequisites
  • Registration for a session will only be allowed if a student has the necessary prerequisites
  • If a student still needs to take one or more of the prerequisites, buttons will be displayed for each prerequisite
    • where an upcoming session is scheduled for a prerequisite, its button will be active
  • The upcoming classes list on the Programs page will list prerequisites associated with the class for the session

This partially addresses #816. The outstanding item needed to close this out is related to the Courses list on the Programs page, will comment on the issue with details.

This will allow for specifiying prerequisites for a course.
The new method allows for retrieval of course details for all outstanding prerequisites a student needs for a session.
This adds a dictionary (keyed by Course id) of Session details to the view's context.
These session details are for future sessions being held for prerequisites of the current session.
This detail facilitates adding prerequisite buttons to the registration form when a student is missing one or more of the prerequisites required.
The tag will now disable the enroll button when a student does not meet the prerequisites for a session.
It will also add buttons for prerequisite course sessions.
These buttons will navigate to the registration page of an upcoming session for the prerequisite, if avaialable.
Will now programmatically list prerequisites associated with a class.
@rgroves
rgroves requested a review from karbassiFebruary 2, 2021 23:22
@rgrovesrgroves mentioned this pull request Feb 2, 2021
4 tasks
This class name was accidentally left in from when I was still playing around with the look of things.
@karbassikarbassi changed the title Feature/course prerequisitesCourse prerequisitesFeb 12, 2021
@karbassi
karbassi temporarily deployed to website-feature-course--2ytozk February 18, 2021 03:11 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 03:13 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 03:56 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 04:19 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 04:25 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 04:27 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 23, 2021 02:17 Inactive
@rgroves

Copy link
Copy Markdown
ContributorAuthor

@karbassi I have added the prerequisites to the class view templates for the guardian and public views. I didn't think it made sense for the mentor view—don't want to have someone think they can't mentor a class before mentoring for a prerequisite class. If you don't agree with this let me know and I'll add it to the mentor's class view template as well.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@rgroves@karbassi
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Course prerequisites by rgroves · Pull Request #858 · WeAllCode/website · GitHub
Skip to content

Course prerequisites - #858

Open
rgroves wants to merge 15 commits into
WeAllCode:mainfrom
rgroves:feature/course-prerequisites
Open

Course prerequisites#858
rgroves wants to merge 15 commits into
WeAllCode:mainfrom
rgroves:feature/course-prerequisites

Conversation

@rgroves

@rgrovesrgroves commented Feb 2, 2021

Copy link
Copy Markdown
Contributor

With this PR:

  • Courses can be assigned prerequisites
  • Registration for a session will only be allowed if a student has the necessary prerequisites
  • If a student still needs to take one or more of the prerequisites, buttons will be displayed for each prerequisite
    • where an upcoming session is scheduled for a prerequisite, its button will be active
  • The upcoming classes list on the Programs page will list prerequisites associated with the class for the session

This partially addresses #816. The outstanding item needed to close this out is related to the Courses list on the Programs page, will comment on the issue with details.

This will allow for specifiying prerequisites for a course.
The new method allows for retrieval of course details for all outstanding prerequisites a student needs for a session.
This adds a dictionary (keyed by Course id) of Session details to the view's context.
These session details are for future sessions being held for prerequisites of the current session.
This detail facilitates adding prerequisite buttons to the registration form when a student is missing one or more of the prerequisites required.
The tag will now disable the enroll button when a student does not meet the prerequisites for a session.
It will also add buttons for prerequisite course sessions.
These buttons will navigate to the registration page of an upcoming session for the prerequisite, if avaialable.
Will now programmatically list prerequisites associated with a class.
@rgroves
rgroves requested a review from karbassiFebruary 2, 2021 23:22
@rgrovesrgroves mentioned this pull request Feb 2, 2021
4 tasks
This class name was accidentally left in from when I was still playing around with the look of things.
@karbassikarbassi changed the title Feature/course prerequisitesCourse prerequisitesFeb 12, 2021
@karbassi
karbassi temporarily deployed to website-feature-course--2ytozk February 18, 2021 03:11 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 03:13 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 03:56 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 04:19 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 04:25 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 04:27 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 23, 2021 02:17 Inactive
@rgroves

Copy link
Copy Markdown
ContributorAuthor

@karbassi I have added the prerequisites to the class view templates for the guardian and public views. I didn't think it made sense for the mentor view—don't want to have someone think they can't mentor a class before mentoring for a prerequisite class. If you don't agree with this let me know and I'll add it to the mentor's class view template as well.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@rgroves@karbassi
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); Course prerequisites by rgroves · Pull Request #858 · WeAllCode/website · GitHub
Skip to content

Course prerequisites - #858

Open
rgroves wants to merge 15 commits into
WeAllCode:mainfrom
rgroves:feature/course-prerequisites
Open

Course prerequisites#858
rgroves wants to merge 15 commits into
WeAllCode:mainfrom
rgroves:feature/course-prerequisites

Conversation

@rgroves

@rgrovesrgroves commented Feb 2, 2021

Copy link
Copy Markdown
Contributor

With this PR:

  • Courses can be assigned prerequisites
  • Registration for a session will only be allowed if a student has the necessary prerequisites
  • If a student still needs to take one or more of the prerequisites, buttons will be displayed for each prerequisite
    • where an upcoming session is scheduled for a prerequisite, its button will be active
  • The upcoming classes list on the Programs page will list prerequisites associated with the class for the session

This partially addresses #816. The outstanding item needed to close this out is related to the Courses list on the Programs page, will comment on the issue with details.

This will allow for specifiying prerequisites for a course.
The new method allows for retrieval of course details for all outstanding prerequisites a student needs for a session.
This adds a dictionary (keyed by Course id) of Session details to the view's context.
These session details are for future sessions being held for prerequisites of the current session.
This detail facilitates adding prerequisite buttons to the registration form when a student is missing one or more of the prerequisites required.
The tag will now disable the enroll button when a student does not meet the prerequisites for a session.
It will also add buttons for prerequisite course sessions.
These buttons will navigate to the registration page of an upcoming session for the prerequisite, if avaialable.
Will now programmatically list prerequisites associated with a class.
@rgroves
rgroves requested a review from karbassiFebruary 2, 2021 23:22
@rgrovesrgroves mentioned this pull request Feb 2, 2021
4 tasks
This class name was accidentally left in from when I was still playing around with the look of things.
@karbassikarbassi changed the title Feature/course prerequisitesCourse prerequisitesFeb 12, 2021
@karbassi
karbassi temporarily deployed to website-feature-course--2ytozk February 18, 2021 03:11 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 03:13 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 03:56 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 04:19 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 04:25 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 18, 2021 04:27 Inactive
@karbassi
karbassi temporarily deployed to website-feature-course--fuu71c February 23, 2021 02:17 Inactive
@rgroves

Copy link
Copy Markdown
ContributorAuthor

@karbassi I have added the prerequisites to the class view templates for the guardian and public views. I didn't think it made sense for the mentor view—don't want to have someone think they can't mentor a class before mentoring for a prerequisite class. If you don't agree with this let me know and I'll add it to the mentor's class view template as well.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@rgroves@karbassi