new CF action for scrips?

Matt Zagrabelny <[email protected]> Tue, 6 Dec 2016 15:46:53 -0600
Newsgroups gmane.comp.bug-tracking.request-tracker.devel
Message-ID <CAOLfK3V9=mYVevvK5aTp5_=GT+QdANXc5w7BWAyJRLbRcSJWeA@mail.gmail.com>
--001a1137bb52b6f21205430457f2
Content-Type: text/plain; charset=UTF-8

BP,

I noticed a new branch come across:

4.4/set-custom-field-to-now-scrip-action

I wrote a generic CF scrip action that is attached.

You can use a JSON string to modify CFs:

An argument to the action could look like:

{ 'name': 'Billed At', 'operation': 'set', 'value': 'now' }

or

{ 'name': 'Problems', 'operation': 'delete-all' }

There verbs (or operations) are: add, set, delete, delete-all.

What do you think about including it in core?

Thanks,

-m

--001a1137bb52b6f21205430457f2
Content-Type: application/x-perl; name="ModifyCustomField.pm"
Content-Disposition: attachment; filename="ModifyCustomField.pm"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_iwe18b3p0

cGFja2FnZSBSVDo6QWN0aW9uOjpNb2RpZnlDdXN0b21GaWVsZDsKCnVzZSBzdHJpY3Q7CnVzZSB3
YXJuaW5nczsKdXNlIGJhc2UgcXcoUlQ6OkFjdGlvbik7Cgp1c2UgSlNPTjsKCj1oZWFkMSBOQU1F
CgpSVDo6QWN0aW9uOjpNb2RpZnlDdXN0b21GaWVsZCAtIFJUJ3Mgc2NyaXAgYWN0aW9uIHRvIG9w
ZXJhdGUgb24gYSBDdXN0b21GaWVsZCBvZiBhIHRpY2tldAoKPWhlYWQxIERFU0NSSVBUSU9OCgpU
aGlzIGFjdGlvbiBjYW4gb3BlcmF0ZSBvbiBhIHZhbHVlIGZvciBhIHRpY2tldCBjdXN0b20gZmll
bGQgYWNjb3JkaW5nIHRvIHRoZQpydWxlcyBpbiBMPC9BUkdVTUVOVD4uIFRoZSBvcGVyYXRpb24g
Y2FuIGJlIGFkZCwgZGVsZXRlLCBkZWxldGUtYWxsLCBvciBzZXQuIEZvcgphZGQsIGRlbGV0ZSwg
YW5kIHNldCwgdGhlIHZhbHVlIHN1cHBsaWVkIHdpbGwgYmUgdXNpbmcgd2l0aCB0aGUgZ2l2ZW4g
b3BlcmF0aW9uLgpGb3IgZGVsZXRlLWFsbCwgdGhlIHZhbHVlIHN1cHBsaWVkIHdpbGwgYmUgaWdu
b3JlZC4KCj1oZWFkMSBBUkdVTUVOVAoKSlNPTiBzdHJpbmcgb2YgdGhlIGN1c3RvbSBmaWVsZCBu
YW1lLCBhbiBvcGVyYXRpb24sIGFuZCB0aGUgdmFsdWUgdG8gb3BlcmF0ZSBvbi4KQW4gZXhhbXBs
ZSB0byBzZXQgdGhlIGN1c3RvbSBmaWVsZCwgQmlsbGVkIEF0LCB0byB0aGUgY3VycmVudCB0aW1l
LgoKICAgIHsgJ25hbWUnOiAnQmlsbGVkIEF0JywgJ29wZXJhdGlvbic6ICdzZXQnLCAndmFsdWUn
OiAnbm93JyB9CgpUaGUgdmFsaWQgdmFsdWVzIGZvciBvcGVyYXRpb24gYXJlOiBhZGQsIGRlbGV0
ZSwgZGVsZXRlLWFsbCwgYW5kIHNldC4KCmFkZDogQWRkIHRoZSBnaXZlbiB2YWx1ZSB0byB0aGUg
Z2l2ZW4gdGlja2V0IGN1c3RvbSBmaWVsZC4KCmRlbGV0ZTogRGVsZXRlIHRoZSBnaXZlbiB2YWx1
ZSBmcm9tIHRoZSBnaXZlbiB0aWNrZXQgY3VzdG9tIGZpZWxkLgoKZGVsZXRlLWFsbDogRGVsZXRl
IGFsbCB0aGUgdmFsdWVzIGZyb20gdGhlIGdpdmVuIHRpY2tldCBjdXN0b20gZmllbGQuICBJZ25v
cmVzCnRoZSB2YWx1ZSBwYXJhbWV0ZXIuCgpzZXQ6IEVuc3VyZXMgdGhhdCB0aGUgZ2l2ZW4gdmFs
dWUgaXMgdGhlIG9ubHkgdmFsdWUgc2V0IGZvciB0aGUgdGlja2V0IGN1c3RvbQpmaWVsZC4KCj1j
dXQKCnN1YiBQcmVwYXJlIHsKICAgIG15ICRzZWxmID0gc2hpZnQ7CgogICAgbXkgJHRpY2tldCAg
ID0gJHNlbGYtPlRpY2tldE9iajsKICAgIG15ICRhcmd1bWVudCA9ICRzZWxmLT5Bcmd1bWVudDsK
CiAgICBpZiAoISAkYXJndW1lbnQpIHsKICAgICAgICAkUlQ6OkxvZ2dlci0+ZXJyb3IoIkFyZ3Vt
ZW50IGlzIG1hbmRhdG9yeSBmb3IgTW9kaWZ5Q3VzdG9tRmllbGQgYWN0aW9uIik7CiAgICAgICAg
cmV0dXJuIDA7CiAgICB9CgogICAgVFJZOgogICAgewogICAgICAgIGxvY2FsICRAOwoKICAgICAg
ICBteSAkanNvbl9vYmplY3Q7CiAgICAgICAgZXZhbCB7CiAgICAgICAgICAgICRqc29uX29iamVj
dCA9IGRlY29kZV9qc29uICRhcmd1bWVudDsKICAgICAgICB9OwoKICAgICAgICBteSAkZXJyb3Ig
PSAkQDsKICAgICAgICBpZiAoJGVycm9yKSB7CiAgICAgICAgICAgICRSVDo6TG9nZ2VyLT5lcnJv
cigiRXJyb3IgZGVjb2RpbmcgSlNPTiBmb3IgUlQ6OkFjdGlvbjo6TW9kaWZ5Q3VzdG9tRmllbGQ6
ICRlcnJvciIpOwogICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICB9CiAgICAgICAgZWxzZSB7
CiAgICAgICAgICAgICRzZWxmLT57Y3VzdG9tX2ZpZWxkX3RvX21vZGlmeX0gPSAkanNvbl9vYmpl
Y3Q7CiAgICAgICAgfQogICAgfQoKICAgIGlmICgkc2VsZi0+e2N1c3RvbV9maWVsZF90b19tb2Rp
Znl9e29wZXJhdGlvbn0gIX4gL14oPzphZGR8ZGVsZXRlfGRlbGV0ZS1hbGx8c2V0KSQvaSkgewog
ICAgICAgICRSVDo6TG9nZ2VyLT5lcnJvcigKICAgICAgICAgICAgIlJUOjpBY3Rpb246Ok1vZGlm
eUN1c3RvbUZpZWxkICdvcGVyYXRpb24nIEpTT04ga2V5IG11c3QgYmUgb25lIG9mOiBhZGQsIGRl
bGV0ZSwgZGVsZXRlLWFsbCwgb3Igc2V0LiAiLgogICAgICAgICAgICAiSG93ZXZlciwgb3BlcmF0
aW9uIGlzICRzZWxmLT57Y3VzdG9tX2ZpZWxkX3RvX21vZGlmeX17b3BlcmF0aW9ufS4iCiAgICAg
ICAgKTsKICAgICAgICByZXR1cm4gMDsKICAgIH0KCiAgICBteSAkY2ZfbmFtZSA9ICRzZWxmLT57
Y3VzdG9tX2ZpZWxkX3RvX21vZGlmeX17bmFtZX07CgogICAgaWYgKCEgJGNmX25hbWUpIHsKICAg
ICAgICAkUlQ6OkxvZ2dlci0+ZXJyb3IoCiAgICAgICAgICAgICJSVDo6QWN0aW9uOjpNb2RpZnlD
dXN0b21GaWVsZCAnbmFtZScgSlNPTiBrZXkgbXVzdCBiZSBkZWZpbmVkIGFuZCBub3QgdGhlIGVt
cHR5IHN0cmluZy4iCiAgICAgICAgKTsKICAgICAgICByZXR1cm4gMDsKICAgIH0KCiAgICBteSAk
Y2YgPSAkdGlja2V0LT5Mb2FkQ3VzdG9tRmllbGRCeUlkZW50aWZpZXIoJGNmX25hbWUpOwogICAg
aWYgKCEgJGNmLT5JZCkgewogICAgICAgIHJldHVybiAwOwogICAgfQoKICAgICRzZWxmLT57Y3Vz
dG9tX2ZpZWxkX3RvX21vZGlmeX17Y3VzdG9tX2ZpZWxkfSA9ICRjZjsKCiAgICByZXR1cm4gMTsK
fQoKc3ViIENvbW1pdCB7CiAgICBteSAkc2VsZiA9IHNoaWZ0OwoKICAgIG15ICR0aWNrZXQgICAg
ICAgICA9ICRzZWxmLT5UaWNrZXRPYmo7CiAgICBteSAkY2YgICAgICAgICAgICAgPSAkc2VsZi0+
e2N1c3RvbV9maWVsZF90b19tb2RpZnl9e2N1c3RvbV9maWVsZH07CiAgICBteSAkY2ZfaWQgICAg
ICAgICAgPSAkY2YtPklkOwogICAgbXkgJG9wZXJhdGlvbiAgICAgID0gJHNlbGYtPntjdXN0b21f
ZmllbGRfdG9fbW9kaWZ5fXtvcGVyYXRpb259OwogICAgbXkgJHZhbHVlICAgICAgICAgID0gJHNl
bGYtPntjdXN0b21fZmllbGRfdG9fbW9kaWZ5fXt2YWx1ZX07CiAgICBteSAkY3VycmVudF92YWx1
ZXMgPSAkdGlja2V0LT5DdXN0b21GaWVsZFZhbHVlcygkY2ZfaWQpOwoKICAgICMgQmVjYXVzZSB0
aGUgInNldCIgb3BlcmF0aW9uIGNvbWJpbmVzIGFzcGVjdHMgZnJvbSBib3RoICJhZGQiIGFuZAog
ICAgIyAiZGVsZXRlLWFsbCIsIHdlIGNoZWNrIGZvciBhbGwgdGhyZWUgb3BlcmF0aW9ucyBoZXJl
LgogICAgaWYgKCRvcGVyYXRpb24gPX4gL14oPzphZGR8c2V0fGRlbGV0ZS1hbGwpJC9pKSB7Cgog
ICAgICAgICMgInNldCIgd2lsbCBuZWVkIHRvIGRlbGV0ZSBhbGwgdGhlIGN1c3RvbSBmaWVsZCB2
YWx1ZXMgaWYgdGhlIENGCiAgICAgICAgIyBjYW4gc3RvcmUgbXVsdGlwbGUgdmFsdWVzLgogICAg
ICAgIGlmICgKICAgICAgICAgICAgJG9wZXJhdGlvbiA9fiAvXig/OmRlbGV0ZS1hbGwpJC9pCiAg
ICAgICAgICAgIHx8CiAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICRvcGVyYXRpb24gPX4g
L14oPzpzZXQpJC9pCiAgICAgICAgICAgICAgICAmJgogICAgICAgICAgICAgICAgJGNmLT5NYXhW
YWx1ZXMgIT0gMQogICAgICAgICAgICApCiAgICAgICAgKSB7CiAgICAgICAgICAgIERFTEVURV9D
Rl9WQUxVRToKICAgICAgICAgICAgd2hpbGUgKG15ICRjdXJyZW50X3ZhbHVlID0gJGN1cnJlbnRf
dmFsdWVzLT5OZXh0KSB7CiAgICAgICAgICAgICAgICAjIElmIHdlIGFyZSBzZXR0aW5nIHRoZSBD
RiB0byBhIHZhbHVlIGFuZCB0aGF0IHZhbHVlCiAgICAgICAgICAgICAgICAjIGFscmVhZHkgZXhp
c3RzLCB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZGVsZXRlIGl0LgogICAgICAgICAgICAgICAg
aWYgKAogICAgICAgICAgICAgICAgICAgICRvcGVyYXRpb24gPX4gL14oPzpzZXQpJC9pCiAgICAg
ICAgICAgICAgICAgICAgJiYKICAgICAgICAgICAgICAgICAgICAkY3VycmVudF92YWx1ZS0+Q29u
dGVudCBlcSAkdmFsdWUKICAgICAgICAgICAgICAgICkgewogICAgICAgICAgICAgICAgICAgIG5l
eHQgREVMRVRFX0NGX1ZBTFVFOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbXkg
KCRpZCwgJG1zZykgPSAkdGlja2V0LT5EZWxldGVDdXN0b21GaWVsZFZhbHVlKAogICAgICAgICAg
ICAgICAgICAgIEZpZWxkICAgPT4gJGNmX2lkLAogICAgICAgICAgICAgICAgICAgIFZhbHVlSWQg
PT4gJGN1cnJlbnRfdmFsdWUtPmlkLAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAg
IGlmICghICRpZCkgewogICAgICAgICAgICAgICAgICAgICRSVDo6TG9nZ2VyLT5lcnJvcigKICAg
ICAgICAgICAgICAgICAgICAgICAgIlJUOjpBY3Rpb246Ok1vZGlmeUN1c3RvbUZpZWxkIHVuYWJs
ZSB0byBkZWxldGUgIi4kY3VycmVudF92YWx1ZS0+Q29udGVudC4iIGZyb20gY3VzdG9tIGZpZWxk
LCAkY2ZfaWQ6ICRtc2ciCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAg
ICAjIEJhaWwgb24gdGhlIGZpcnN0IGVycm9yIC0gcmVnYXJkbGVzcyBvZiB0aGUgcmVzdCBvZiB0
aGUKICAgICAgICAgICAgICAgICAgICAjIGRlbGV0aW5nIG9yIHRoZSBhZGRpbmcgKGJlbG93IGZv
ciAic2V0IikuCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgICAgICB9
CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKAogICAgICAgICAgICAkb3BlcmF0
aW9uID1+IC9eKD86YWRkKSQvaQogICAgICAgICAgICB8fAogICAgICAgICAgICAkb3BlcmF0aW9u
ID1+IC9eKD86c2V0KSQvaQogICAgICAgICkgewogICAgICAgICAgICBpZiAoISAkY3VycmVudF92
YWx1ZXMtPkhhc0VudHJ5KCR2YWx1ZSkpIHsKICAgICAgICAgICAgICAgIG15ICgkaWQsICRtc2cp
ID0gJHRpY2tldC0+QWRkQ3VzdG9tRmllbGRWYWx1ZSgKICAgICAgICAgICAgICAgICAgICBGaWVs
ZCA9PiAkY2ZfaWQsCiAgICAgICAgICAgICAgICAgICAgVmFsdWUgPT4gJHZhbHVlLAogICAgICAg
ICAgICAgICAgKTsKICAgICAgICAgICAgICAgIGlmICgkaWQpIHsKICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gMTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UgewogICAg
ICAgICAgICAgICAgICAgICRSVDo6TG9nZ2VyLT5lcnJvcigKICAgICAgICAgICAgICAgICAgICAg
ICAgIlJUOjpBY3Rpb246Ok1vZGlmeUN1c3RvbUZpZWxkIHVuYWJsZSB0byBhZGQgJHZhbHVlIHRv
IGN1c3RvbSBmaWVsZCwgJGNmX2lkOiAkbXNnIgogICAgICAgICAgICAgICAgICAgICk7CiAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0K
ICAgICAgICB9CgogICAgICAgICMgSWYgd2UgaGF2ZW4ndCByZXR1cm5lZCB5ZXQsIGV2ZXJ5dGhp
bmcgbXVzdCBoYXZlIGdvbmUgYWNjb3JkaW5nIHRvCiAgICAgICAgIyBwbGFuLiBTdWNjZXNzIQog
ICAgICAgIHJldHVybiAxOwogICAgfQogICAgZWxzaWYgKCRvcGVyYXRpb24gPX4gL14oPzpkZWxl
dGUpJC9pKSB7CiAgICAgICAgbXkgJGVudHJ5ID0gJGN1cnJlbnRfdmFsdWVzLT5IYXNFbnRyeSgk
dmFsdWUpOwogICAgICAgIGlmICghICRlbnRyeSkgewogICAgICAgICAgICByZXR1cm4gMTsKICAg
ICAgICB9CgogICAgICAgIG15ICgkaWQsICRtc2cpID0gJHRpY2tldC0+RGVsZXRlQ3VzdG9tRmll
bGRWYWx1ZSgKICAgICAgICAgICAgRmllbGQgICA9PiAkY2ZfaWQsCiAgICAgICAgICAgIFZhbHVl
SWQgPT4gJGVudHJ5LT5pZCwKICAgICAgICApOwogICAgICAgIGlmICgkaWQpIHsKICAgICAgICAg
ICAgcmV0dXJuIDE7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICAkUlQ6Okxv
Z2dlci0+ZXJyb3IoCiAgICAgICAgICAgICAgICAiUlQ6OkFjdGlvbjo6TW9kaWZ5Q3VzdG9tRmll
bGQgdW5hYmxlIHRvIGRlbGV0ZSAiLiR2YWx1ZS4iIGZyb20gY3VzdG9tIGZpZWxkLCAkY2ZfaWQ6
ICRtc2ciCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgIH0KICAg
IH0KICAgIGVsc2UgewogICAgICAgICRSVDo6TG9nZ2VyLT5lcnJvcigKICAgICAgICAgICAgIlJU
OjpBY3Rpb246Ok1vZGlmeUN1c3RvbUZpZWxkIHVuZXhwZWN0ZWQgb3BlcmF0aW9uLCAkb3BlcmF0
aW9uLiIKICAgICAgICApOwogICAgICAgIHJldHVybiAwOwogICAgfQp9CgoxOwo=
--001a1137bb52b6f21205430457f2
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

---------
RT 4.4 and RTIR training sessions, and a new workshop day! https://bestpractical.com/training
* Los Angeles - January 9-11 2017
--001a1137bb52b6f21205430457f2--