In the film "Spartacus" (1960) Marcus Publius Glabrus, having just lost six cohorts of the garrison of Rome, in an ill-starred attempt to crush the slave-uprising in its incipient stages, is summoned to the Senate for a debriefing. Senator Gracchus rises to his feet:
"If we had punished every commander, who made a fool of himself, we'd have no-one left above the rank of centurion."
Translating this into both direct & indirect speech: it's a conditional sentence; impossible conditions (it did not happen: we did not punish every commander). In advanced texts e.g. Allen & Greenough "impossible conditions" is called "contrary-to-fact" i.e. "counterfactual".
FIRST CLAUSE: (The protasis: a statement of the condition.)
A counterfactual condition, in the past tense, requiring a pluperfect subjunctive for the verb.
A relative "qui" clause. In direct speech the verb is in the indicative.
THIRD CLAUSE: (The apodosis: the result of the condition.)
The present-tense consequence of action/ inaction, in the past, requiring the imperfect subjunctive.
"si puniissemus (punivissemus) omnem imperatorem, qui se ludificatus est, neminem (relinquentem) maioris ordinis centurione haberemus."
Gracchus told the Senators that if they had punished every commander, who had made a fool of himself, they would have no-one left above the rank of centurion."
Rules for changing a condition contrary-to-fact into indirect speech are given in (A & G) section 589; 3(b): p.383; (https://dcc.dickinson.edu/grammar/latin/conditions in indirect discourse)
The protasis always remains unchanged in tense.
The relative clause will require the accusative-infinitive construction for indirect speech.
(A & G): "The apodosis, if active, takes a peculiar infinitive form, made by combining the participle in -urus with fuisse."
Gracchus Senatoribus narravit si punissisent (punivissent) omnem imperatorem, quem se ludificatum esse, neminem (relinquentem) maioris ordinis centurione habituros fuisse.
Are the two translations correct?