Flyspray - The bug killer!

  • Status Unconfirmed
  • Percent Complete
    0%
  • Task Type Feature Request
  • Category Backend/Core
  • Assigned To No-one
  • Operating System All
  • Severity Low
  • Priority Very Low
  • Reported Version 1.0-rc7
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Flyspray - The bug killer!
Opened by Trent Gamblin - 16.01.2019

FS#2534 - Private projects

I would like to restrict certain projects from view from normal users (Basic group.) I couldn’t find out a way to do it. I could restrict them from viewing tasks, which is good, but it would be nice to hide the project entirely from the Overview screen.

Project Manager
peterdd commented on 16.01.2019 15:03

Yes, it is possible.

For instance, here on bugs.flyspray.org there is a privatly configured project 'Trash' where I move tasks created by spammers, so they are not visible for normal users or search engines.

How is your global basic user group configured? It also requires that the private project has correct settings, for instance these unchecked:

  • Allow anyone to view roadmap of this project [ ]
  • Allow anyone to view tasks of this project [ ]
  • Allow anonymous users to open tasks [ ]

The 'overview' permission is using the 'view roadmap' permission setting at the moment too if I remember right.
So only when a user has the calculated 'view roadmap' for a project
( project setting 'Allow anyone to view roadmap of this project' OR global user group 'view roadmap' permission OR project user group permission 'view roadmap') then that project appears on the global overview page.

Someone should write a FAQ entry on flyspray.org for that case that shows all required settings on global settings, global user group settings, project settings and project user group settings. There is some documentation on www.flyspray.org/manual/ section 'User Management' , but needs some updates because current Flyspray 1.0-rc7 now has more informative views. So maybe less text but more screenshots describing several use cases.

Currently here on bugs.flyspray.org the global basic group (Reporters) has limited group permissions, but there is no extra user group on project Flyspray.

For even more restricted settings, a global basic user group would only allows user login (and other project independent functionality things like "forgot my password") and nothing more.

But that would require that a new registered user is automatically added to at least 1 specific default project and a user specific group in that project or the new user registration would by quite useless.
This is not yet implemented in Flyspray 1.0-rc7 and I will open a task for that describing it in detail.

Trent Gamblin commented on 16.01.2019 15:23

I have the default global basic user group settings, which don't have the view roadmap permission enabled. The projects I want to hide have all of those 3 settings unchecked. I don't have any extra project groups besides Project Manager and nobody is a member of that group. With all these settings, the test user can still see those projects but can't see their tasks.

Not sure what else could do the trick. I've looked thoroughly throughout the settings but don't see anything obvious. I've attached screenshots of the basic user group permissions and the project settings.

Project Manager
peterdd commented on 16.01.2019 20:31

Ok, maybe I used also the 'is active' project checkbox for hiding the private projects from the public from normal users as current workaround for the existing user group configuration, see screenshot.

I have to review this topic again and I opened FS#2535 too. There are also some related tasks currently open. So give me 1 or 2 days for review.

The screenshot shows the private 'Trash' project on the left and Flyspray project on the right side here.

Project Manager
peterdd commented on 16.01.2019 20:40

And I suggest removing 'View groups task', 'Add multiple tasks', 'Add self to assignees', and 'Can Track Effort' from the permissions of the 'Basic' group.

Trent Gamblin commented on 17.01.2019 16:35

Ok well setting it inactive does hide it but it hides it too well. I'd like those projects to be visible like the others for certain users. Toggling those extra settings in the basic group didn't help. For now it's fine that the projects are visible to logged in users. They are hidden from anonymous users by those anonymous checkboxes. Maybe one day they could be visible only to certain groups.

Project Manager
peterdd commented on 17.01.2019 22:14

I related FS#2207 to this.

Trent Gamblin commented on 18.01.2019 00:15

For now I've added this condition to can_view_project in class.users.php:

&& ($this->perms('others_view', $proj) || $this->perms('project_group', $proj))

Then changed can_select_project to return can_view_project(...) instead. Then I made a couple changes to the theme templates (toplevel.tpl.)

Now the projects that have 'Allow anyone to view tasks of this project' checked can be seen without logging in or when logged in, but other projects are hidden.

Trent Gamblin commented on 18.01.2019 00:16

hidden unless they person is in the project group.

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing