instantjob-recruiter-client
Version:
a set of tools for creating an instantjob recruiter react client
53 lines (37 loc) • 1.93 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _promise = require('babel-runtime/core-js/promise');
var _promise2 = _interopRequireDefault(_promise);
exports.action_create_workplace = action_create_workplace;
exports.action_update_workplace = action_update_workplace;
var _store = require('common/store');
var _store2 = _interopRequireDefault(_store);
var _request = require('common/request');
var _request2 = _interopRequireDefault(_request);
var _missions = require('actions/missions');
var _display = require('actions/display');
var _new_workplace = require('components/popovers/new_workplace');
var _new_workplace2 = _interopRequireDefault(_new_workplace);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function action_create_workplace() {
var workplace_name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
return new _promise2.default(function (resolve, reject) {
_store2.default.dispatch((0, _display.show_popover)(_new_workplace2.default, {
name: workplace_name,
on_create_workplace: function on_create_workplace(name, address, latitude, longitude) {
_store2.default.dispatch((0, _display.dismiss_popover)());
var workplace = { name: name, address: address, latitude: latitude, longitude: longitude };
_request2.default.post('agencies/' + _store2.default.getState().profile.agency_id + '/workplaces', { workplace: workplace }).then(function (workplace) {
_store2.default.dispatch((0, _missions.store_workplaces)([workplace]));
resolve(workplace.id);
});
}
}, 'Créer un nouveau lieu de travail'));
});
}
function action_update_workplace(workplace) {
_store2.default.dispatch((0, _missions.update_workplace)(workplace));
return _request2.default.put('workplaces/' + workplace.id, { workplace: workplace });
}