The default_get method is the way Odoo collect the default values for all the fields when creating a new record to be able to edit for example in a Form view. That method will collect the default values from field definitions, per company related values and ir.defaults records to build the dict of values that you could extend by providing your own version of the default_get method and obtaining that dict of values when calling to super.
But the important thing here is that the default_get method wouldn't being calling on a recordset or a record so your condition `if self.is_mostafeed:` will always be False because self is not a recordset and also don't have a proper value for it's fields.
You could get the default value of the field is_mostafeed from the res dict returned by the super call and make your condition against that value to make it work or also put a value in the action context and check against that value using self.env.context.get('is_mostafeed', False) to make it work
*** Solution examples ***
1- Using res dict returned from super call
@api.model
def default_get(self, fields_list):
res = super(ataa_partner, self).default_get(fields_list)
asha = self.env.ref('mf_ataa.income_asha').id
kesaa = self.env.ref('mf_ataa.income_kesaa').id
water = self.env.ref('mf_ataa.income_water').id
if res.get('is_mostafeed', False):
vals = [(0, 0, {'outcome_amount': 900, 'type': asha}),
(0, 0, {'outcome_amount': 150, 'type': kesaa}),
(0, 0, {'outcome_amount': 140, 'type': water})]
res.update({'outcomes': vals})
2- Using context
@api.model
def default_get(self, fields_list):
res = super(ataa_partner, self).default_get(fields_list)
asha = self.env.ref('mf_ataa.income_asha').id
kesaa = self.env.ref('mf_ataa.income_kesaa').id
water = self.env.ref('mf_ataa.income_water').id
if self.env.context.get('default_is_mostafeed', False):
vals = [(0, 0, {'outcome_amount': 900, 'type': asha}),
(0, 0, {'outcome_amount': 150, 'type': kesaa}),
(0, 0, {'outcome_amount': 140, 'type': water})]
res.update({'outcomes': vals})