Giter Site home page Giter Site logo

avidweb's People

Contributors

almasaeed2010 avatar dependabot[bot] avatar jwest60 avatar noah-77 avatar

Watchers

 avatar  avatar

avidweb's Issues

Create an admin view for data

We need a page for admins to view data for all other users instead of just themselves. We also need to figure out how to allow users to view data from other groups they belong to.

Sorting default field

Currently when accessing a page that is sortable, there is no default field set. For example, the plots table shows the following header:
Screen Shot 2020-04-20 at 1 54 21 PM

The arrows ⬆️ ⬇️ are indicating that we are not sorting by anything. However, we are sorting by plot number by default and therefore, it should look like this when we first access the page:
Screen Shot 2020-04-20 at 1 56 29 PM

The same applies to all of plants, plots, sites, measurements and users pages.

Groups and Admins Data Views

We need to define new routes for admins and group members who have access to certain sites. The new routes will allow the back button to work correctly and will use the new data views to display the data. Each route should provide enough information for the data views to know how to go back and how to go forward to a sub view.

Extract sites screen to be an independent component

Since we already have a component that can list and manage sites, let's expand it to take a url to load the data and allow it to access permissions so we can tell who can edit/delete which sites. Same would be nice for plots, plants and measurements. However, views other than sites will only need to support permissions. There is no need for refactoring. We just need new routes that lead to them.

Clean up duplicates from species list

We need to be careful here and remove only ones that are not associated to sites or plants. if they are associated, let's migrate them to the orginial species. Once migration is done, add unique constraint to species name column.

Add user groups support

Groups should be implemented in the same fashion as WFID where the leader can pick and choose who has access to the data.

If we build a permissions system, we can allow admins to specify who can edit data.

Permissions System

It would be nice to implement the permissions system we developed for WFID here. That way we have better control over what users see when visiting certain pages that they have limited access to.

Set up tests

We need Github actions to setup tests for phpunit

Modify all policies to adhere to new permissions system

Currently we check if a user is an Admin or scientist to access a certain resource. We need to instead use the new permissions system ($user->role->hasPermissionTo(...)) to figure out if a user is capable of performing a certain action.

Reminders system

We have 2 options here:

  • Allow users to setup reminders for themselves
  • Make admins responsible for choosing what kind of reminders go out and to who.

Data importer

For the time being, let's create a command to import data produced by the old system into the new one. There is no need for an interface yet.

  • Notify users that they have accounts created for them.
  • Allow administrators to reset passwords for users.

Roles

Need to implement roles/permissions for users

Add user_id column to plants table

The plants table does not allow us to identify the owner of the plant. We need a new column in the table and we need to fix all controllers and importers to make use of the column.

Sites form

I am thinking we should ask the user for the name of the site at first then guide them to add the rest of the info on the created page instead of in the modal, which has a very small space.

Add fields to sites and plots

  • A field to list common trees in the sites form
    • We have a method species() that returns a belongsToMany relationship in Site model that links sites to common trees
    • The field should allow for multiple species to be attached. For reference see the countries field in WFID. This component can be copied over to here.
  • A field to list common shrubs in the sites form
    • Similar to common trees we can use shrubs() to link common shrubs to a site
    • The field should allow for multiple shrubs (species) to be selected (Sites note above).
  • Recorders field on the plot form
    • This field is a simple textarea
    • Show this information on the plot page as well (Plants.vue)

Activate searching and sorting

  • Sites page
  • Plots page
  • Plants page
  • Measurements page

Also activate the search in the navbar

  • Navbar search should take you directly to plants of interest by tag #

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.