Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add orgs #584

Merged
merged 362 commits into from
Feb 24, 2017
Merged

Add orgs #584

merged 362 commits into from
Feb 24, 2017

Conversation

mattkrick
Copy link
Member

@mattkrick mattkrick commented Dec 16, 2016

Things left to do:

@ackernaut here are the things i'm stuck on

Designs:

  • Org field for /newteam
  • Field to select an existing org
  • Field (or link) to type in a new org that expands to add billing info
  • Organizations-list: Create new org
  • modal or link to create a new org and add billing
  • Organization-detail: Add new billing leader
  • Pop a modal/dropdown box with a search box & name of all org members
  • Organization-detail: Billing info empty state
  • Design what the billing info section should look like if no billing info exists
  • Design the modal asking for CC and expiry
  • Organization-detail: Update billing info
  • The modal that pops up when you click update under billing info
  • Organization-detail: Users
  • See: Visual concept on Dropbox
  • Organization-detail: Invoice See Details
  • See: Invoice v0.0.0 #652
  • Organization-detail: edit picture
  • allow user to upload from desktop or type in a url for their new picture

Matt's to-do:

  • wire up changing org avatar
  • support account balance in the invoices
  • cancel subscriptions when payments get rejected (requires changing settings in stripe)
  • validate isPaid === true before subscribing to any subscription except notifications (but disregard most/all mutations because we'd rather be performant for the 99% than be slow & stingy towards the 1%)
  • create org dropdown menu for /newteam
  • write addOrg mutation
  • implement orgMembers list view
  • implement vertical 3 dot menu for orgMembersRow
  • handle invitation approval success mutation
  • handle invitation rejection mutation (and the front-end modal)
  • pop modal when team belongs to an unpaid org
  • show a "!" on the sidebar next to unpaid teams
  • show a bell on the sidebar linking to notifications
  • disable multiple clicks for step 2 of the welcome wizard
  • store activeUsers instead of activeUserCount so we can reactively subscribe to orgs
  • wire up the front end of invoices
  • figure out what to do about current invoices-- calculate on the fly?
  • create a whitelist of notification types & copy those over to new billing leaders when promoted. removed those notification when demoted.
  • add a "pending org leader approval" group to the team settings so team leaders can understand why some folks don't join.

r.table('Notification').indexWait('orgId', 'parentId', 'userId'),
r.table('User').indexWait('email', 'orgs', 'billingLeaderOrgs')
];
await Promise.all(waitIndices);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! I was wondering when we were going to need to use this. And, here it is!

socket.setAuthToken(authToken);
}
// no need to wait for this, it's just for billing
r.branch(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This query is so rad.

@@ -1,13 +1,13 @@
import React, {PropTypes} from 'react';
import withStyles from 'universal/styles/withStyles';
import {css} from 'aphrodite-local-styles/no-important';
import Notifications from 'universal/modules/notifications/containers/Notifications/Notifications';
import Toast from 'universal/modules/toast/containers/Toast/Toast';
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bless your heart for renaming this.

@@ -2,7 +2,7 @@ import {cashay} from 'cashay';
import {removeAuthToken} from 'universal/redux/authDuck';
import {reset as resetAppState} from 'universal/redux/rootDuck';
import {segmentEventTrack} from 'universal/redux/segmentActions';
import {showSuccess} from 'universal/modules/notifications/ducks/notifications';
import {showSuccess} from 'universal/modules/toast/ducks/toastDuck';
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

toastDuck sounds delicious

@jordanh
Copy link
Contributor

jordanh commented Jan 7, 2017

Wow man. Crazy amount of work in here.

Incidentally, I love how you refactored (user|team)DashboardContainer into a single container. Nice work!

@ackernaut
Copy link
Member

@mattkrick updated these:

  • Organization-detail: Users
  • Organization-detail: Invoice See Details

Going to work on some UI options for updating org avatars.

ackernaut and others added 8 commits February 23, 2017 13:59
# Conflicts:
#	package.json
#	src/universal/decorators/loginWithToken/loginWithToken.js
#	src/universal/modules/landing/containers/Landing/LandingContainer.js
#	src/universal/redux/__tests__/AuthEngine-tests.js
#	src/universal/redux/__tests__/rootDuck-tests.js
@mattkrick mattkrick changed the title Add orgs [WIP: DO NOT MERGE] Add orgs Feb 24, 2017
Sign up for free to 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.

3 participants