Code Monkey home page Code Monkey logo

orgmanager's Introduction

OrgManager

Build Status Code Coverage CodeCov GitHub release license Codacy grade Packagist OpenCollective OpenCollective

Invite System for GitHub Organizations

OrgManager takes Github Organization invites to a new level! Read more on the OrgManager documentation.

Table of Contents

Install

To install the OrgManager Stable Version, check out these docs.

To learn how to setup the OrgManager Developer Version up and running on your local machine for development and testing purposes see the OrgManager Developer Version section in the OrgManager Documentation.

Updating

OrgManager is under active development, and that means it gets lots of updates, bug fixes and new features. Read the guides below to learn how to update to the latest OrgManager version.

For updating a development environment, read the Updating the OrgManager Developer Version section in the OrgManager Documentation. For updating a production environment, read the Updating the OrgManager Stable Version section in the OrgManager Documentation.

For the versions available, see the releases page.

Testing

We use the Laravel testing functionalities and PHPUnit to add automated testing to OrgManager.

You can read about how to configure the testing environment and how to run the tests in the OrgManager Documentation.

Built With

Support Channels

Facing an issue? Want to meet other OrgManager users? Just want to say hello?

Read the OrgManager Support Channels section in the OrgManager Documentation.

Contributing

Please read the Contributing to OrgManager section on the OrgManager Documentation for ideas on how to help, and the CONTRIBUTING.md file for details on our code of conduct, and the process for submitting pull requests.

Support OrgManager

Whether you are an individual or an organization, you can pledge as low as $1/month to support the development of OrgManager & other non-profit and open-source projects. Support me on Patreon.

People

For information about all the people that have helped to make this possible, check the People section in the OrgManager Documentation.

License

Licensed under the Mozilla Public License (MPL). For more information, checkout the LICENSE.

orgmanager's People

Contributors

codacy-badger avatar greenkeeper[bot] avatar imanghafoori1 avatar imgbotapp avatar joaorobertopb avatar laravel-shift avatar limonte avatar m1guelpf avatar nathangeerinck avatar piamancini avatar rdil avatar renovate-bot avatar renovate[bot] avatar richardlitt avatar rudsarkar avatar rumansaleem avatar samrichca avatar scrutinizer-auto-fixer avatar stylejs-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

orgmanager's Issues

Add an API (setup)

To do:

  • Modify database
  • Add a command to update users from v1.1
  • Basic GET endpoints
  • Basic POST endpoints
  • Basic DELETE endpoints

Refractor model pages

Description:

Use

public function settings(Org $org)

instead of

public function settings($id)
{
$org = Org::findOrFail($id);
}

TO DO:

  • Make the change (82cc976)
  • Check everything is still working

Notes:

This could be a bit more difficult if #56 is done...

Excel/CSV Import

Expected Behavior

Org Admins can import a list of their employees' github usernames, and they're aout-invited to the organization.

Current Behavior

Org Admins manually have to add users, and have to fill in the captcha every time.

Possible Solution

Add an option where admins can upload a csv/excel file to invite users.

Context

Feature

Your Environment

Standard OrgManager Development Version

  • Version used:

  • Environment name and version (e.g. PHP 5.4 on nginx 1.9.1): PHP 7.1 on Hotel

  • Server type and version: Hotel 0.7.1

  • Operating System and version: Ubuntu 16.10

Refractor controller function names

Description:

Change functions like

public function showPage()

to more standard names like

public function index()

TO DO:

  • Change fuction names (af544bd)
  • Check everything is still working

Notes:

Probot test

Expected Behavior

Current Behavior

Possible Solution

Steps to Reproduce (for bugs)

Context

Your Environment

  • Version used:

  • Environment name and version (e.g. PHP 5.4 on nginx 1.9.1):

  • Server type and version:

  • Operating System and version:

  • Link to your project:

Symfony\Component\Console\Exception\CommandNotFoundException in vendor/symfony/console/Application.php:534

Error in OrgManager

Symfony\Component\Console\Exception\CommandNotFoundException in vendor/symfony/console/Application.php:534
Command "orgmanager" is not defined.

Did you mean one of these?
orgmanager:orgpwdcrypt
orgmanager:invitetoorg
orgmanager:updateorg
orgmanager:joinorg
orgmanager:tokens

View on Bugsnag

Stacktrace

vendor/symfony/console/Application.php:534 - Symfony\Component\Console\Application::find

View full stacktrace

Ability to manage people which are set to Private, and who are only invited

So in @opensourcedesign for example we have a lot of people set to Private (because it’s the default) and lots of people only invited (because the mails land in spam, or people don’t see where to accept etc).

It would be nice to be able to mass-contact them about setting themselves to Public, or about accepting (or declining) the invitation. The current cumbersome workaround is to manually go through the list …

Add support channels

Expected Behavior

Users find channels for contacting other users or the support team.

Current Behavior

There isn't any info about how users can contact support or other users.

Possible Solution

Add a section in the README with a link to the Glitter channel, mention the on-website chat, github issues and a contact email.

Context

User engagement / Support

Your Environment

OrgManager Developer Version

  • Version used: Lastest commit

  • Environment name and version (e.g. PHP 5.4 on nginx 1.9.1): PHP 7.1 on hotel 0.7.1

  • Server type and version: hotel 0.7.1

  • Operating System and version: Ubuntu 16.10

Allow custom message when joined organization

As already mentioned in opensourcedesign/organization#50 (comment)

is there also an easy way to have the visibility of people set to »Public« by default? The current standard of »Private« is a bit annoying because we have to ask everyone.

@m1guelpf you said

it would not be possible as the user needs to accept the invitation before we can modify status via the API

It’s ok to do it afterwards too. :) Ideally there would be some prodding to set it to Public, but of course with a confirmation. But most people sadly don’t change the default and then it just is not visible. :\

Mail

Add mailables

TO DO:

  • Welcome mailable (1d62b5a)
  • Send a mail to users that heven't added organizations one week after register (083e16f)

Join flow

Of course best would be to not need the captcha at all, but I understand the uses. But you are able to click the »Join« button without putting in a username nor checking the captcha. You get a big error on the top. Best would be to deactivate the Join button until both is filled out.

Ideally having a tooltip when hovering the join button saying »Please fill out the username« and then »Please check the "I am not a robot" checkbox above«.

ErrorException in GET /callback

Error in OrgManager

ErrorException in GET /callback
Undefined variable: newuser

View on Bugsnag

Stacktrace

app/Http/Controllers/LoginController.php:49 - Illuminate\Foundation\Bootstrap\HandleExceptions::handleError
app/Http/Controllers/LoginController.php:49 - App\Http\Controllers\LoginController::loginUser
app/Http/Middleware/RedirectIfAuthenticated.php:25 - App\Http\Middleware\RedirectIfAuthenticated::handle
app/Http/Middleware/HttpsMiddleware.php:23 - App\Http\Middleware\HttpsMiddleware::handle

View full stacktrace

Register process

Expected Behavior

OrgManager has a register process where we firslty create an account, and then ask for the org scope.

Current Behavior

OrgManager requires the Org Admin scope without any explanation.

Possible Solution

Build an interactive register promt.

Context

User Engagement / General

Your Environment

Standard OrgManager Developer Version

  • Version used:

  • Environment name and version (e.g. PHP 5.4 on nginx 1.9.1): PHP 7.1 on Hotel

  • Server type and version: Hotel 0.7.1

  • Operating System and version: Ubuntu 16.04

Add new users to team

Description:

Allow organizations to set a default team that users will join.

TO DO:

  • Check if it is possible
  • Add a migration to store org teams
  • Add option to dashboard
  • Add team joiner to the invite command
  • Testing

Notes:

Github API documentation for Organization teams:

https://developer.github.com/v3/orgs/teams/

Endpoint to get organization teams:

https://developer.github.com/v3/orgs/teams/#list-teams

Endpoint to invite user and add to a team:

https://developer.github.com/v3/orgs/teams/#add-or-update-team-membership

API Client function

https://github.com/KnpLabs/php-github-api/blob/master/lib/Github/Api/Organization/Teams.php#L66

[WIP] Refractor validation

Description:

Currently, validation is done manually, and that makes the code a disaster. We can use Validation hooks to keep showing errors with toastr. We should also stop using toastr. Sweetalert2 seems a cool alternative.

TO DO:

  • Change to Laravel validation system
  • Return errors using SweetAlert

Notes:

Adding custom validation the easy way (could be used with reCaptcha validation):

c1ryfu1weaedjbz

Laravel validation documentation:

https://laravel.com/docs/5.3/validation

Syntax error

Undefined variable: username in app/Http/Controllers/JoinController.php:61

HackerOne Community

Description:

Security is one of the most important things at OrgManager. Therebefore, we should have a page where people can report vulnerabilities. HackerOne offers a plan for open-source projects, so I'd be cool to use it.

TO DO:

  • Wait for OrgManager to get 3 months old (April 13th)
  • Apply to the HackerOne Community Version
  • Wait for response
  • Configure the HackerOne page
  • Launch the program privately
  • Make the program public

Improve usability

It seems like most people are confused about how to use Orgmanager, let's improve that!

TO DO:

  • Make those login links login you instead of taking you to the login page (b9f6dbc)
  • Remove the login page (488ff40)
  • Autosync on register (338f446)
  • Change the login text in the front page with a dashboard text (75f705d)
  • Add more options to the menu (8ad535d)
  • Change the sync link to a sync button (e719ca0)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.