+=item city
+
+When the I<cust_main-no_city_in_address> config is set, the
+city method will return a blank string no matter the previously
+set value of the field. You can still use the get method to
+access the contents of the field directly.
+
+Just in case this config was accidentally/temporarily set,
+we'll never overwrite existing city while the config is active.
+L</find_or_insert> will throw a warning if passed any true value for city,
+ignore the city field when finding, and preserve the existing value.
+L</replace> will only throw a warning if passed a true value that is
+different than the existing value of city, and will preserve the existing value.
+L</insert> will throw a warning but still insert a true city value,
+to avoid unnecessary data loss.
+
+=cut
+
+sub city {
+ my $self = shift;
+ return '' if $conf->exists('cust_main-no_city_in_address');
+ return $self->get('city');
+}
+