~rvb/maas/transaction-1.7-bug-1409852

« back to all changes in this revision

Viewing changes to src/maasserver/api/nodes.py

merged upstream

Show diffs side-by-side

added added

removed removed

Lines of Context:
229
229
        :type stop_mode: unicode
230
230
        """
231
231
        stop_mode = request.POST.get('stop_mode', 'hard')
232
 
        nodes = Node.objects.stop_nodes(
233
 
            [system_id], request.user, stop_mode=stop_mode)
234
 
        if len(nodes) == 0:
235
 
            raise PermissionDenied(
236
 
                "You are not allowed to shut down this node.")
237
 
        return nodes[0]
 
232
        node = Node.objects.get_node_or_404(
 
233
            system_id=system_id, user=request.user,
 
234
            perm=NODE_PERMISSION.EDIT)
 
235
        nodes_stopped = Node.objects.stop_nodes(
 
236
            [node.system_id], request.user, stop_mode=stop_mode)
 
237
        if len(nodes_stopped) == 0:
 
238
            return None
 
239
        else:
 
240
            return node
238
241
 
239
242
    @operation(idempotent=False)
240
243
    def start(self, request, system_id):