Commit Graph

707 Commits

Author SHA1 Message Date
softwarefactory-project-zuul[bot]
955ef3e9cb Merge pull request #6541 from AlanCoding/jt_org_left_behind
Fix RBAC loose items from reversed decision on JT org permissions

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-04-07 17:41:31 +00:00
softwarefactory-project-zuul[bot]
42705c9eb0 Merge pull request #6545 from fosterseth/fix-4198-readd-user-to-org
Fix adding orphaned user to org

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
2020-04-06 21:10:38 +00:00
Ryan Petrello
8b00b8c9c2 remove deprecated legacy manual inventory source support
see: https://github.com/ansible/awx/issues/6309
2020-04-03 10:54:43 -04:00
Seth Foster
843c22c6b1 Allow orphaned user to be added to org
Fixed bug where an org admin was not able to add
an orphaned user to the org, in the case where the
orphan had an ancestor role that matched one of the
roles for of the org admin.

scenario to fix -- sue is member of cred1, where cred1 is
part of org1. org1 admin cannot add sue to org1, because
the cred1 role for sue has an ancestor to org1 role. The org1
admin cannot change or attach sue to org1.

tower issue #4198 and #4197
2020-04-02 14:24:55 -04:00
AlanCoding
ac474e2108 Fix RBAC loose items from reversed decision on JT org permissions 2020-04-02 10:17:04 -04:00
Bill Nottingham
b875c03f4a Clean up a few more cases where we checked the license for features. 2020-03-17 17:19:33 -04:00
AlanCoding
7d0b207571 Organization on JT as read-only field
Set JT.organization with value from its project

Remove validation requiring JT.organization

Undo some of the additional org definitions in tests

Revert some tests no longer needed for feature

exclude workflow approvals from unified organization field

revert awxkit changes for providing organization

Roll back additional JT creation permission requirement

Fix up more issues by persisting organization field when project is removed

Restrict project org editing, logging, and testing

Grant removed inventory org admin permissions in migration

Add special validate_unique for job templates
  this deals with enforcing name-organization uniqueness

Add back in special message where config is unknown
  when receiving 403 on job relaunch

Fix logical and performance bugs with data migration

within JT.inventory.organization make-permission-explicit migration

remove nested loops so we do .iterator() on JT queryset

in reverse migration, carefully remove execute role on JT
  held by org admins of inventory organization,
  as well as the execute_role holders

Use current state of Role model in logic, with 1 notable exception
  that is used to filter on ancestors
  the ancestor and descentent relationship in the migration model
    is not reliable
  output of this is saved as an integer list to avoid future
    compatibility errors

make the parents rebuilding logic skip over irrelevant models
  this is the largest performance gain for small resource numbers
2020-03-12 15:45:46 -04:00
AlanCoding
daa9282790 Initial (editable) pass of adding JT.organization
This is the old version of this feature from 2019
  this allows setting the organization in the data sent
  to the API when creating a JT, and exposes the field
  in the UI as well

Subsequent commit changes the field from editable
  to read-only, but as of this commit, the machinery
  is not hooked up to infer it from project
2020-03-12 15:45:46 -04:00
Ryan Petrello
acc34c1393 fix global schedule creation for project and inventory updates too
related: https://github.com/ansible/awx/pull/6193
2020-03-06 08:55:13 -05:00
Ryan Petrello
cd1ff6b16a fix a bug in OPTIONS /api/v2/schedules/
a side effect of this bug is that `awx schedules create` doesn't work
properly for non-admin users (i.e., users who have execute access for
a JT)

see: https://github.com/ansible/awx/issues/5717
2020-03-05 14:43:54 -05:00
Gabe Muniz
a264b1db1f made licensing a warning and not trigger on periodic scheduler 2020-01-23 14:08:23 -05:00
AlanCoding
9a420820eb Remove event hosts relationship
and parent event-event ForeignKey relationship
2020-01-16 08:44:36 -05:00
Ryan Petrello
568606d2c8 remove computed inventory fields from Host and Group 2020-01-14 16:37:16 -05:00
Alan Rominger
3f49d2c455 RBAC relaunch 403 updates (#3835)
* RBAC relaunch 403 updates

Addresses 2 things

1. If WFJ relaunch is attempted, and relaunch is denied
  because the WFJ had encrypted survey answers,
  a generic message was shown, this changes it to show
  a specific error message

2. Org admins are banned from relaunching a job
  if the job has encrypted survey answers

* update tests to raises access pattern

* catch PermissionDenied for user_capabilities
2019-10-29 11:24:12 -04:00
Rebeccah
075d1a2521 removed superuser check since can_admin already checks that, and also added allow orphans so admins can delete orphaned users 2019-09-30 15:07:19 -04:00
Rebeccah
69924c9544 added in ability to delete a user if they are part of your organization 2019-09-30 15:07:19 -04:00
Ryan Petrello
846e67ee6a update trial license enforcement logic 2019-09-13 12:14:25 -04:00
softwarefactory-project-zuul[bot]
9571801e9f Merge pull request #4347 from AlanCoding/no_read_role
Kill off all model can_read access methods

Reviewed-by: Jake McDermott <yo@jakemcdermott.me>
             https://github.com/jakemcdermott
2019-08-29 14:38:44 +00:00
beeankha
459012e879 Fix 500 error on workflow_approvals endpoint 2019-08-27 15:38:17 -04:00
beeankha
ea509f518e Addressing comments, updating tests, etc. 2019-08-27 15:38:15 -04:00
beeankha
9bbc14c5a1 Update AWX docs to include info about wf approvals 2019-08-27 15:38:09 -04:00
beeankha
aab04bcbb1 Fix accidental deletions, update docstrings...
... and update migration file for rebase.
2019-08-27 15:38:08 -04:00
beeankha
667fce5012 Fix flake8 errors, update doc strings, ...
... and return full object details when doing a POST to create new approval nodes.
2019-08-27 15:37:22 -04:00
beeankha
cf436eea37 Update RBAC for adding approval nodes 2019-08-27 15:36:31 -04:00
beeankha
f7d6f4538c Emit approve/deny status for websockets, update doc string + a comment 2019-08-27 15:36:30 -04:00
Ryan Petrello
7814592285 when copying workflows w/ pause nodes, copy the WorkflowApprovalTemplate 2019-08-27 15:36:26 -04:00
Ryan Petrello
4a75edf549 fix a few nits w/ workflow approval activity stream records 2019-08-27 15:36:25 -04:00
beeankha
d9f3fed06f Update UJ/UJT endpoints, update approval RBAC, update approval timeout 2019-08-27 15:36:25 -04:00
beeankha
544a5063f3 Update timeout implementation, placeholder code for possible websocket support 2019-08-27 15:36:24 -04:00
Ryan Petrello
0522d45ab0 fixed a few issues related to approval role RBAC for normal users 2019-08-27 15:36:23 -04:00
beeankha
296b4e830b Add more RBAC for approval nodes 2019-08-27 15:36:21 -04:00
beeankha
3357c96774 Enable deletion of orphaned approval nodes
Update serializer to include workflow approval for activity stream
2019-08-27 15:36:19 -04:00
beeankha
64c94d478d Add more RBAC, filter out AJT/AJs from unified jobs lists
Comment out placeholder in serializer
2019-08-27 15:36:17 -04:00
beeankha
24c5404c25 Fix error related to workflow_approval_templates/N endpoint 2019-08-27 15:30:50 -04:00
beeankha
294d6551b9 Polishing up work on new endpoint 2019-08-27 15:30:48 -04:00
beeankha
320284267c Add new endpoint for creation of approval nodes 2019-08-27 15:30:47 -04:00
beeankha
82e0b2121b Add approve/deny endpoints, fix some typos 2019-08-27 15:30:43 -04:00
beeankha
9024a514a6 Add API endpoints for workflow approvals 2019-08-27 15:30:39 -04:00
AlanCoding
d302f134ac Kill off all can_read access methods 2019-08-16 10:12:46 -04:00
AlanCoding
4831cde39f fix bug where cred org permission was not checked 2019-08-14 12:07:28 -04:00
AlanCoding
2c533edb3c remove duplicates from IG list 2019-07-25 10:20:25 -04:00
Jeff Bradberry
1a72ff4c47 Use the in operator to test against the Organization membership subquery
If more than one Organization were selected by this subquery, then
Postgres would complain with "more than one row returned by a subquery
used as an expression".  We needed to allow for that case.

Annoyingly SQLite3 doesn't seem to care, so writing a py.test test to
exercise this isn't feasible under our current development setup.
2019-06-19 14:49:02 -04:00
Ryan Petrello
6da445f7c0 remove /api/v1 and deprecated credential fields 2019-06-06 12:23:00 -04:00
AlanCoding
dbc65baa43 apply optimizations via standard method
This addresses the top-level resources in the v2
root view, focusing in order of priority,
reflecting use by the UI.

In several cases get_queryset logic from the view
is moved into the access class.

Most other cases involve adding a straightforward
select_related or prefetch_related entry.

All additional confirmed to be effective with the
django debug toolbar.
2019-05-24 13:09:55 -04:00
Vismay Golwala
0154d80f19 Raise meaningful error when permission denied to copy JT
When a user doesn't have access to all the credentials of a job
template, they cannot copy the JT. However, currently we raise a
default `PermissionDenied`, which doesn't give the user insight
into what's wrong. So, this PR just adds a custom message indicating
that access to credentials is missing.

Signed-off-by: Vismay Golwala <vgolwala@redhat.com>
2019-05-06 15:02:36 -04:00
softwarefactory-project-zuul[bot]
2800e89fd2 Merge pull request #3783 from AlanCoding/passwords_and_relaunching
Allow relaunching other user jobs with public vars

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-03 12:03:26 +00:00
AlanCoding
530a7ba51d populate event children list via parent_uuid 2019-05-01 11:55:53 -04:00
AlanCoding
5720601a2e allow relaunching other user jobs with public vars 2019-04-30 08:07:45 -04:00
Jeff Bradberry
8ad0b3f787 Check the permissions for adding users to orgs/teams in the other direction 2019-04-17 17:45:20 -04:00
Jeff Bradberry
70b0679a0c Adjust the access logic for settings.MANAGE_ORGANIZATION_AUTH = False
so that changing the membership of Organizations and Teams are
disallowed unless you are a superuser, but granting resource
privileges is still permitted.
2019-04-17 15:37:02 -04:00