changeGetView function

Future<BloomResponse> changeGetView({
  1. required BloomRequest request,
  2. required BloomModelAdmin<Model> admin,
  3. required DbExecutor db,
  4. required BloomSiteBranding branding,
  5. required AdminCsrf csrf,
})

HTTP GET handler for rendering the model modification form (/:app/:model/:pk/change/).

Implementation

Future<BloomResponse> changeGetView({
  required BloomRequest request,
  required BloomModelAdmin admin,
  required DbExecutor db,
  required BloomSiteBranding branding,
  required AdminCsrf csrf,
}) async {
  final pkStr = request.params['pk'];
  final pk = int.tryParse(pkStr ?? '');
  if (pk == null) {
    return BloomResponse.notFound('Invalid object ID');
  }

  final obj = await admin.getByPk(db, pk);
  if (obj == null) {
    return BloomResponse.notFound('Object not found');
  }

  return _renderFormView(
    admin: admin,
    initialValues: obj,
    errors: {},
    isAdd: false,
    branding: branding,
    csrf: csrf,
  );
}